SOLID (аб’ектна-арыентаванае праграмаванне)
SOLID (скарочана ад англ. Single responsibility, Open-closed, Liskov substitution, Interface segregation і Dependency inversion) у праграмаванні — мнеманічны акронім, уведзены Майклам Фэзерсам для першых пяці прынцыпаў, названых Робертам Марцінам[1][2] у пачатку 2000-х, якія азначалі пяць асноўных прынцыпаў аб’ектна-арыентаванага праграмавання і праектавання[3].
Апісанне[правіць | правіць зыходнік]
Выкарыстанне ў сукупнасці даных прынцыпаў дазваляе павысіць верагоднасць таго, што праграміст створыць сістэму, якую будзе лёгка падтрымліваць і пашыраць на працягу доўгага часу. Прынцыпы SOLID — гэта дапаможнікі, якія могуць прымяняцца у час работы над праграмным забеспячэннем для выдалення «кода з пахам», прадпісваючы праграмісту выконваць рэфактарынг зыходнага кода, пакуль той не стане разборліва напісаным і пашыраемым. Гэта частка агульнай стратэгіі гнуткай і адаптыўнай распрацоўкі(англ.) бел..
Прынцыпы[правіць | правіць зыходнік]
Пазбавіцца «ад прыкмет дрэннага праекта» дапамагаюць наступныя пяць прынцыпаў SOLID:
Ініцыял | Паказвае | Назва, паняцце[4] |
---|---|---|
S | SRP[5] |
|
O | OCP[6] |
|
L | LSP[7] |
Спадчыняльны клас павінен дапаўняць, а не змяняць базавы. |
I | ISP[8] |
|
D | DIP[10] |
|
Гл. таксама[правіць | правіць зыходнік]
- Don’t repeat yourself
- GRASP
- KISS
- YAGNI
Зноскі
- ↑ Роберт Марцін (Дядя Боб). Principles Of OOD . butunclebob.com. Праверана 3 мая 2016. (прим. отсылка на «first five principles», то есть в статье не используется акроним.)
- ↑ Роберт Марцін (Дядя Боб). Getting a SOLID start . objectmentor.com. Праверана 3 мая 2016.
- ↑ Sandi Metz (Duke University). SOLID Object-Oriented Design (недаступная спасылка). Архівавана з першакрыніцы 29 сакавіка 2014. Праверана 3 мая 2016. Выступление на конференции «2009 Gotham Ruby Conference» в мае 2009.
- ↑ Роберт С. Мартин, Мика Мартин. Принципы, паттерны и методики гибкой разработки на языке C#. — СПб.: Символ-плюс, 2011. — С. 8. — 768 с. — ISBN 978-5-93286-197-4.
- ↑ Single Responsibility Principle . Архівавана з першакрыніцы 1 June 2015.
- ↑ Open/Closed Principle . Архівавана з першакрыніцы 5 September 2015.
- ↑ Liskov Substitution Principle . Архівавана з першакрыніцы 5 September 2015.
- ↑ Interface Segregation Principle (15 студзеня 1996). Архівавана з першакрыніцы 5 September 2015.
- ↑ Роберт Марцін (Дядя Боб).. Design Principles and Design Patterns (недаступная спасылка). objectmentor.com (15 студзеня 2000). Архівавана з першакрыніцы 6 September 2015. Праверана 14 студзеня 2009.
- ↑ Dependency Inversion Principle . Архівавана з першакрыніцы 5 September 2015.