В блог

На главную

01.10.2017 04:27:13 | Comments: 0

SOLID принципы написания кода объектно ориентированного программирования

Объектно-ориентированный подход в программировании - это подход, основным назначением которого было типизировать приложения для удобства их модифицирования.

Написание классов имеет несколько (а точнее 5) принципов, которые значительно упростят расширение приложения, его редактирование в будущем.

Принцип единственной ответственности

Один класс может выполять лишь ОДНУ ЗАДАЧУ. Не надо стараться запихнуть в один класс кучу функций, обработку событий, вывод представления и еще много чего. Очень часто программисты по неопытности пытаются засунуть в один класс задачи по подключению к базе данных, считыванию данных, их сортировку и т.д. Это обернется адом при дальнейшем редактировании приложения, его рефакторинге, расширении.

Принцип открытости-закрытости

Все классы должны быть спроектированы правильным образом и изменение их поведения было бы возможным без изменения их кода. Но, главное - не переусердствовать с уровнями абстракции, иначе вместо читабельного кода получим нечто … Просто нечто.

Принцип подстановки Барбары Лисков

Наверное, этот принцип вызовет наибольшее непонимание со стороны начинающих программистов. Он говорит о том, что классы в данной программе могут заменяться их наследниками без изменения свойств родительского класса. Использование объекта не должно противоречить свойствам и методам класса и должно быть полностью предсказуемо.

При неграмотном выполнении этого принципа появляется слишком множественное наследование или же его полное отсутствие.

Принцип инверсии зависимости

Абстрактные классы не должны быть зависемыми от деталей. Модели верхнего уровня не должны зависеть от модулей нижнего уровня. Простыми словами - родительские элементы должны быть независимы от дочерних.

Принцип разделения интерфейса

Лучше использовать множество интерфейсов с узкой специализацией, чем один универсальный.

Резюме

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