ТВЕРДЫЙ
ТВЕРДЫЙ |
---|
Принципы |
В программировании — SOLID это мнемоническая аббревиатура пяти принципов проектирования, призванных сделать объектно-ориентированные проекты более понятными, гибкими и удобными в сопровождении . Хотя принципы SOLID применимы к любому объектно-ориентированному проектированию, они также могут сформировать основную философию таких методологий, как гибкая разработка или адаптивная разработка программного обеспечения . [1]
Принципы
[ редактировать ]- Принцип единой ответственности никогда не должно быть более одной причины ». класса : «Для изменения [2] Другими словами, каждый класс должен иметь только одну ответственность. [3]
- Принцип открытости-закрытости : «Программные объекты… должны быть открыты для расширения, но закрыты для модификации». [4]
- Принцип подстановки Лискова : «Функции, использующие указатели или ссылки на базовые классы, должны иметь возможность использовать объекты производных классов, не зная об этом». [5] См. также проектирование по контракту . [5]
- Принцип разделения интерфейсов : «Клиенты не должны быть вынуждены зависеть от интерфейсов, которые они не используют». [6] [7]
- Принцип инверсии зависимостей : «Зависьте от абстракций, а не от конкретики». [8] [7]
Источник
[ редактировать ]Инженер-программист и инструктор Роберт К. Мартин , [9] [10] [1] представил коллекцию принципов в своей статье 2000 года « Принципы проектирования и шаблоны проектирования», посвященной гниению программного обеспечения . [10] [7] : 2–3 Аббревиатура SOLID была придумана примерно в 2004 году Майклом Фезерсом. [11]
См. также
[ редактировать ]- Повторное использование кода
- GRASP (объектно-ориентированное проектирование)
- Наследование (объектно-ориентированное программирование)
- Список философий разработки программного обеспечения
Ссылки
[ редактировать ]- ^ Jump up to: а б Мец, Сэнди (май 2009 г.). «SOLID объектно-ориентированное проектирование» . Ютуб . Архивировано из оригинала 21 декабря 2021 г. Проверено 13 августа 2019 г. Выступление на конференции Gotham Ruby в 2009 году .
- ^ «Принцип единой ответственности» (PDF) . objectmentor.com . Архивировано из оригинала 2 февраля 2015 года.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ Мартин, Роберт С. (2003). Гибкая разработка программного обеспечения, принципы, шаблоны и практики . Прентис Холл. п. 95. ИСБН 978-0135974445 .
- ^ «Принцип открытости/закрытости» (PDF) . objectmentor.com . Архивировано из оригинала 5 сентября 2015 года.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ Jump up to: а б «Принцип замены Лискова» (PDF) . objectmentor.com . Архивировано из оригинала 5 сентября 2015 года.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ «Принцип разделения интерфейса» (PDF) . objectmentor.com . 1996. Архивировано из оригинала 5 сентября 2015 года.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ Jump up to: а б с Мартин, Роберт С. (2000). «Принципы проектирования и шаблоны проектирования» (PDF) . objectmentor.com . Архивировано из оригинала 6 сентября 2015 г.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ «Принцип инверсии зависимостей» (PDF) . objectmentor.com . Архивировано из оригинала 5 сентября 2015 года.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ Мартин, Роберт К. «Принципы ООД» . НоUncleBob.com . Архивировано из оригинала 10 сентября 2014 года . Проверено 17 июля 2014 г. . (Обратите внимание на ссылку на «первые пять принципов», хотя в этой статье эта аббревиатура не используется.) Датируется как минимум 2003 годом.
- ^ Jump up to: а б Мартин, Роберт К. (13 февраля 2009 г.). «Надежный старт» . ООО «Дядя Боб Консалтинг» (Сайты Google) . Архивировано из оригинала 17 сентября 2013 года . Проверено 19 августа 2013 г.
- ^ Мартин, Роберт (2018). Чистая архитектура: Руководство для мастера по структуре и дизайну программного обеспечения . Прентис Холл. п. 58. ИСБН 9780134494166 .