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 (30 студзеня 1996). Архівавана з першакрыніцы 5 September 2015.
- ↑ Роберт Марцін (Дзядзька Боб).. Design Principles and Design Patterns(недаступная спасылка). objectmentor.com (30 студзеня 2000). Архівавана з першакрыніцы 6 September 2015. Праверана 14 студзеня 2009.
- ↑ Dependency Inversion Principle . Архівавана з першакрыніцы 5 September 2015.