У меня есть класс, который добавляет некоторые функциональные возможности в текстовое поле формы Windows. Например, он обрабатывает событие с ключевым словом keybox и основан на какой-то логике, если было нажато «Enter», появится специальная сетка, позволяющая пользователю выбрать один объект из большого числа объектов. Поэтому я называю этот класс «Textbox Extender» и текстовое поле «Extended».Одинокий принцип ответственности, нарушенный или нет
Теперь я хочу сообщить пользователю, что, если текстовое поле расширено, изменив его цвет назад, довольно легко добавить эту функциональность в класс BUT: Я очень подозрительно, что это против принципа единой ответственности. Любая идея высоко ценится.
Но теперь у него есть две обязанности: расширение текстового поля, изменение цвета backcolor. Возможно, завтра меняем шрифт. Еще один день изменил forecolor. Каков ваш идеал? – Alireza
Hah! Затем подумайте о обычном текстовом поле - у него есть ZILLIIONS обязанностей: нажмите кнопку «a», нажмите «символ», нажмите кнопку «b», напечатайте символ «b» и т. Д. – athabaska
Я думаю, что в вашем случае вы можете более широкий взгляд на то, что несет ответственность. Кроме того, в конце дня вы хотите работать с рабочим приложением, а не с приложением, которое удовлетворяет всем правилам «правильной разработки», но не работает. – athabaska