Принципы SOLID

В объектно-ориентированном компьютерном программировании SOLID является мнемонической аббревиатурой для пяти принципов проектирования, предназначенных для того, чтобы сделать дизайн программного обеспечения более понятным, гибким и обслуживаемым. Это не связано с принципами проектирования программного обеспечения GRASP. Эти принципы являются подмножеством многих принципов, продвигаемых американским инженером-программистом и инструктором Робертом К. Мартином. Хотя принципы SOLID применимы к любому объектно-ориентированному проектированию, они также могут сформировать основную философию для таких методологий, как гибкая разработка (agile) или адаптивная разработка программного обеспечения. Теория принципов SOLID была введена Мартином в его работе 2000 "Принципы проектирования и шаблоны проектирования", хотя аббревиатура SOLID была введена позже Майклом Фезерсом.

Концепции

1. Single responsibility principle - Принцип единой ответственности

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

2. Open–closed principle - Принцип открыт-закрыт

"Программные объекты ... должны быть открыты для расширения, но закрыты для модификации".

3. Liskov substitution principle - Принцип подстановки Лисков

"Объекты в программе должны заменяться экземплярами их подтипов без изменения правильности этой программы".

4. Interface segregation principle - Принцип разделения интерфейса

"Многие клиентские интерфейсы лучше, чем один универсальный интерфейс"

5. Dependency inversion principle - Принцип инверсии зависимостей

Нужно "зависеть от абстракций, не от конкретик".

Комментарии

Популярные сообщения из этого блога

Язык поисковых запросов в Graylog

Нормальные формы, пример нормализации в базе данных

Хэш-таблица: разрешение коллизий