четверг, 16 мая 2013 г.

S.O.L.I.D

S.O.L.I.D это аббревиатура пяти основных принципов дизайна классов в объектно-ориентированном проектировании — Single responsibility, Open-closed, Liskov substitution, Interface segregation и Dependency inversion теперь про каждый по подробнее.



Single responsibility
Если у вас есть класс, который управляет всеми аспектами одного процесса или одного объекта, это хорошо. Если же ваш класс также манипулирует другими объектами, или если это просто вместилище для кучи методов, — значит вы что-то делаете неправильно.


Open-closed
Или, в более простых терминах, программные сущности должны быть открыты для расширения, но закрыты для модификации.


Liskov substitution
Если коротко, то идея состоит в том, что объекты в данной иерархии классов могут быть заменены на их подтипы без нарушения корректности системы.
для задротов можна и так объяснить
eсли для каждого объекта o1 типа S существует объект o2 типа T, который для всех программ P определен в терминах T, то поведение P не измениться, если o1 заменить на o2 при условии, что S является подтипом T.


Interface segregation
много клиентских специфических интерфейсов лучше, чем один общий интерфейс.


Dependency inversion
когда мы определяем зависимости класса, мы должны расчитывать на максимально широкий спектр возможностей.


SOLID принципы сами по себе не дадут вам прекрасный OO-дизайн. Существуют обоснованные причины и ситуации когда их лучше не использовать и обойти, но это должно быть осознанное решение, а не прихоть или незнание. У нас может быть собственное мнение о том, когда и где их лучше применять. Мы должны оценить, что с их помощью мы приобретаем и улучшаем.

Ссылка раз
Ссылка два

Комментариев нет:

Отправить комментарий