Interested Article - SOLID (программирование)

SOLID (сокр. от англ. single responsibility , open–closed , Liskov substitution , interface segregation и dependency inversion ) в программировании — мнемонический акроним , введённый Майклом Фэзерсом ( Michael Feathers ) для первых пяти принципов, названных Робертом Мартином в начале 2000-х , которые означали 5 основных принципов объектно-ориентированных проектирования и программирования .

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

Принципы

Избавиться от «признаков плохого проекта» помогают следующие 5 принципов SOLID:

Инициал Представляет Название , понятие
S SRP
Принцип единственной ответственности (single responsibility principle)
У класса должна быть только одна причина для изменения.
Или, как подметил Р. Мартин в книге « Чистая архитектура. Искусство разработки программного обеспечения », когда описывал эволюцию данного определения, окончательная версия принципа единственной ответственности выглядит так:
«Модуль должен отвечать за одного и только за одного актора.»
O OCP
Принцип открытости/закрытости (open-closed principle)
«программные сущности … должны быть открыты для расширения, но закрыты для модификации».
L LSP
Принцип подстановки Лисков (Liskov substitution principle)
«функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа не зная об этом». См. также контрактное программирование .
I ISP
Принцип разделения интерфейса (interface segregation principle)
«много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения» .
D DIP
Принцип инверсии зависимостей (dependency inversion principle)
«Зависимость на Абстракциях. Нет зависимости на что-то конкретное» .

Для чего нужны принципы SOLID

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

Стратегии гибкой и предполагают написание кода с соблюдением принципов SOLID.

См. также

Примечания

  1. Мартин, Роберт . . butunclebob.com. Дата обращения: 3 мая 2016. 25 октября 2016 года. (прим. отсылка на «first five principles», то есть в статье не используется акроним.)
  2. Мартин, Роберт . . objectmentor.com. Дата обращения: 3 мая 2016. 26 декабря 2016 года.
  3. Sandi Metz (Duke University). . Дата обращения: 3 мая 2016. Архивировано из 29 марта 2014 года. Выступление на конференции «2009 Gotham Ruby Conference» в мае 2009.
  4. Роберт С. Мартин, Мика Мартин. Принципы, паттерны и методики гибкой разработки на языке C#. — СПб. : Символ-плюс, 2011. — С. 8. — 768 с. — ISBN 978-5-93286-197-4 .
  5. . Архивировано 2 февраля 2015 года.
  6. . Архивировано 5 сентября 2015 года.
  7. . Архивировано 5 сентября 2015 года.
  8. (1996). Архивировано 5 сентября 2015 года.
  9. Мартин, Роберт . . objectmentor.com (2000). Дата обращения: 14 января 2009. Архивировано 6 сентября 2015 года.
  10. . Архивировано 5 сентября 2015 года.

Литература

  • Роберт С. Мартин, Джеймс В. Ньюкирк, Роберт С. Косс. Быстрая разработка программ. Принципы, примеры, практика. — Вильямс, 2004, ISBN 5-8459-0558-3 , ISBN 0-13-597444-5 .
  • Мартин Р., Мартин М. Принципы, паттерны и методики гибкой разработки на языке C#. — Символ-Плюс, 2011, ISBN 5-93286-197-5 , ISBN 978-5-93286-197-4 , ISBN 0-13-185725-8 , ISBN 978-0-13-185725-4 .
  • Мартин, Р. Чистая архитектура. Искусство разработки программного обеспечения. = Clean architecture. A Craftsman’s Guide to Software Structure and Design. — Питер, 2018. — ISBN 978-5-4461-0772-8 .

Ссылки

  • (англ.) — Описание и ссылки на подробные статьи о SOLID.
Источник —

Same as SOLID (программирование)