Описание
Использование в совокупности данных принципов позволяет повысить вероятность того, что программист создаст систему, которую будет легко поддерживать и расширять в течение долгого времени[3].
Принципы SOLID — это руководства, которые могут применяться во время работы над программным обеспечением для удаления «кода с запашком», предписывая программисту выполнять рефакторинг исходного кода, пока тот не станет разборчиво написанным и расширяемым. Это часть общей стратегии гибкой и адаптивной разработки[en][3].
Признаки плохого проекта
- Закрепощённость: система с трудом поддается изменениям, поскольку любое минимальное изменение вызывает эффект "снежного кома", затрагивающего другие компоненты системы.
- Неустойчивость: в результате осуществляемых изменений система разрушается в тех местах, которые не имеют прямого отношения к непосредственно изменяемому компоненту.
- Неподвижность: достаточно трудно разделить систему на компоненты, которые могли бы повторно использоваться в других системах.
- Вязкость: сделать что-то правильно намного сложнее, чем выполнить какие-либо некорректные действия.
- Неоправданная сложность: проект включает инфраструктуру, применение которой не влечёт непосредственной выгоды.
- Неопределенность: исходный код трудно читать и понимать. Недостаточно четко выражено содержимое проекта.
Принципы
Избавиться от "признаков плохого проекта"[4] помогают следующие пять принципов SOLID:
Примечания
- 1 2 Мартин, Роберт (Дядя Боб). Principles Of OOD (неопр.). butunclebob.com. Проверено 3 мая 2016. (прим. отсылка на «first five principles», то есть в статье не используется акроним.)
- ↑ Мартин, Роберт (Дядя Боб). Getting a SOLID start (неопр.). objectmentor.com. Проверено 3 мая 2016.
- 1 2 3 Sandi Metz (Duke University). SOLID Object-Oriented Design (неопр.). Проверено 3 мая 2016. Выступление на конференции «2009 Gotham Ruby Conference» в мае 2009.
- 1 2 Роберт С. Мартин, Мика Мартин. Принципы, паттерны и методики гибкой разработки на языке C#. — СПб.: Символ-плюс, 2011. — С. 8. — 768 с. — ISBN 978-5-93286-197-4.
- ↑ Single Responsibility Principle (неопр.). Архивировано 1 июня 2015 года.
- ↑ Open/Closed Principle (неопр.). Архивировано 5 сентября 2015 года.
- ↑ Liskov Substitution Principle (неопр.). Архивировано 5 сентября 2015 года.
- ↑ Interface Segregation Principle (неопр.) (1996). Архивировано 5 сентября 2015 года.
- 1 2 Мартин, Роберт (Дядя Боб) (2000), Design Principles and Design Patterns, objectmentor.com, <http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf>. Проверено 14 января 2009.
- ↑ Dependency Inversion Principle (неопр.). Архивировано 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
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .