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
Катэгорыя:Распрацоўка праграмнага забеспячэння Катэгорыя:Аб’ектна-арыентаванае праграмаванне Катэгорыя:Праектаванне праграмнага забеспячэння Катэгорыя:Прынцыпы праграмавання