SOLID (аб’ектна-арыентаванае праграмаванне)

SOLID у праграмаванні — мнеманічны акронім, прапанаваны Майклам Фэзерсам для пяці асноўных прынцыпаў аб’ектна-арыентаванага праграмавання і праектавання Выступ на канферэнцыі «2009 Gotham Ruby Conference» ў маі 2009 года., якія у пачатку 2000-х сфармуляваў Роберт Марцін. (заўв. адсылка да «first five principles», то бок у артыкуле ўжываецца акронім.)

Выкарыстанне гэтых прынцыпаў пры распрацоўцы праграмнага забеспячэння паляпшае якасць зыходнага кода праграмы і дазваляе лягчэй падтрымліваць і пашыраць яе на працягу доўгага часу. Прынцыпы SOLID дапамагаюць ідэнтыфікаваць дрэнна напісаны код падчас работы над праграмай і патрабуюць, каб праграміст выконваў рэфактарынг кода, пакуль той не стане разборліва напісаным. Гэта частка агульнай стратэгіі гнуткай і .

 Прынцыпы 

 S — Single Responsibility 

Прынцып адзінай адказнасці () сцвярджае, што не павінна існаваць больш адной прычыны для змены класа.

 O — Open Closed 

Прынцып адкрытасці/закрытасці () сцвярджае, што «праграмныя сутнасці … павінны быць адкрыты для пашырэння, але закрыты для мадыфікацыі».

 L — Liskov Substitution 

Прынцып падстаноўкі Барбары Ліскоў () сцвярджае, што «аб’екты ў праграме можна замяніць на асобнікі іх падтыпаў так, каб праграма без праблем выконвалася далей». Спадчынны клас павінен дапаўняць, а не змяняць базавы.

 I — Interface Segregation 

Прынцып раздзялення інтэрфейсаў () кажа, што «шмат інтэрфейсаў, спецыяльна прызначаных для кліентаў, лепей за адзін інтэрфейс агульнага назначэння».

 D — Dependency Inversion 

Прынцып інверсіі залежнасцяў () патрабуе, каб залежнасці у кодзе ствараліся ад абстракцый, а не канкрэтных рэалізацый.

 Гл. таксама 
 Don’t repeat yourself
 GRASP
 KISS
 YAGNI

Катэгорыя:Распрацоўка праграмнага забеспячэння
Катэгорыя:Аб’ектна-арыентаванае праграмаванне
Катэгорыя:Праектаванне праграмнага забеспячэння
Катэгорыя:Прынцыпы праграмавання