SOLID (аб’ектна-арыентаванае праграмаванне)
From Wikipedia, the free encyclopedia
Remove ads
SOLID у праграмаванні — мнеманічны акронім, прапанаваны Майклам Фэзерсам для пяці асноўных прынцыпаў аб’ектна-арыентаванага праграмавання і праектавання[1], якія у пачатку 2000-х сфармуляваў Роберт Марцін.[2][3]
Выкарыстанне гэтых прынцыпаў пры распрацоўцы праграмнага забеспячэння паляпшае якасць зыходнага кода праграмы і дазваляе лягчэй падтрымліваць і пашыраць яе на працягу доўгага часу. Прынцыпы SOLID дапамагаюць ідэнтыфікаваць дрэнна напісаны код падчас работы над праграмай і патрабуюць, каб праграміст выконваў рэфактарынг кода, пакуль той не стане разборліва напісаным. Гэта частка агульнай стратэгіі гнуткай і адаптыўнай распрацоўкі .
Remove ads
Прынцыпы
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]
Remove ads
Гл. таксама
- Don’t repeat yourself
- GRASP
- KISS
- YAGNI
Зноскі
- 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 (26 ліпеня 2000). Архівавана з першакрыніцы 6 September 2015. Праверана 14 студзеня 2009.
- Dependency Inversion Principle . Архівавана з першакрыніцы 5 September 2015.
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads