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