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

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