2016-09-05 4 views
0

Это больше проблема OOD, и у меня нет специального кода для публикации здесь. Может ли тот же класс нарушать SRP в одном контексте и быть совместимым с SRP в другом, не меняя ни одной строки кода?OOD - зависит ли контекст SRP?

Другими словами, может ли быть ситуация, когда в рамках прежних требований класс является совместимым с SRP, и теперь, когда требования изменены, он уже не соответствует требованиям.

+1

Примера класса и два разных контекстов, иллюстрирующих проблема будет очень полезно здесь. –

+0

@AdrianHofman Какой мощный комментарий. ;) Если бы я мог дать один пример того, как один и тот же класс совместим с SRP в одном контексте и не совместим с другим, я бы не стал задавать этот вопрос, так как одного примера достаточно, чтобы доказать, что да, это возможно. –

+0

Вы должны опубликовать это на программистах, а не на SO. Они имеют дело с более «концептуальными» вопросами. – Euphoric

ответ

3

Это похоже на то, насколько туманным является СРП. Что это на самом деле означает: класс должен быть сплоченной комбинацией поведения, у которого есть только одна причина для изменения. Эти поведения должны быть такими, чтобы они принадлежали друг другу, и было бы неестественно удалить любой из них. Это не имеет никакого отношения к контексту, в котором вы используете класс.

TL; DR: нет

Смежные вопросы