Принципы OOD
Принципы OOD

Принципы OOD

Другое 08.03.2021

SOLID

SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation и Dependency inversion) – 5 принципов объектно-ориентированного программирования, при соблюдении которых Ваш проект будет легко поддерживать и расширять. Также это поможет системе оставаться гибкой при внесении изменений в логику работы и пригодной для рефакторинга.

  • Принцип единственной ответственности (Single responsibility) – класс должен отвечать за одну подсистему. Если класс отвечает за решение нескольких задач, то его подсистемы, реализующие решение этих задач, оказываются связанными друг с другом, в таком случае изменения в одной такой подсистеме ведут к изменениям в другой.
  • Принцип открытости / закрытости (Open-closed) – Программные сущности (классы, модули, функции) должны быть открыты для расширения, но не для модификации.
  • Принцип подстановки Лисков (Liskov substitution) – классы-наследники должны иметь возможность использоваться вместо родительских классов, от которых они образованы, не нарушая работу программы.
  • Принцип разделения интерфейса (Interface segregation) – создавайте узкоспециализированные интерфейсы, предназначенные для конкретного клиента. Слишком большие интерфейсы следует разделять на более мелкие и специфичные, что бы программные методы этих интерфейсов знали только о тех методах, которые они используют для работы.
  • Принцип инверсии зависимостей (Dependency inversion) – модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций, в то же время как абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

KISS

KISS (Keep It Short & Simple) – это принцип проектирования в котором простота системы декларируется в качестве основной цели или ценности.

При разработке этот принцип для нас значит, что

  • Не нужно реализовывать функционал, который не будет использоваться
  • Лучше не перегружать интерфейс теми опциями, которые не будут нужны большинству пользователей, на много лучше предусмотреть для них “расширяемый” интерфейс
  • Не стоит подключать огромную библиотеку, если вам от нее нужно лишь пару функций

DRY

DRY (Don’t Repeat Yourself) – этот принцип заключается в том, что нужно избегать повторения одного и того же кода.

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

Следование принципу DRY приводит к модульной архитектуре приложения и к чёткому разделению ответственности за бизнес-логику между программными классами.

YAGNI

YAGNI (You Ain’t Gonna Need It) – этот принцип заключается в том, чтобы реализовать только поставленные задачи и отказаться от избыточного функционала.

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

Источники: www.stijit.com, web-creator.ru

Поделиться
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии