SOLID (olio-ohjelmointi)
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 8. lokakuuta 2018 tarkistetusta
versiosta . tarkastukset vaativat
39 muokkausta .
SOLID (lyhenne englannin sanoista single vastuu , open-closed , Liskov-substituutio , rajapintojen erottelu ja riippuvuuden inversio ) ohjelmoinnissa on Michael Feathersin esittämä muistikirjalyhenne viidelle ensimmäiselle Robert Martinin [1] [2] nimeämälle periaatteelle 2000 -luvun alussa . [3] , mikä tarkoitti olio-ohjelmoinnin ja suunnittelun 5 ydinperiaatetta .
Mihin SOLID-periaatteet ovat?
Ohjelmistojärjestelmiä luotaessa SOLIDin periaatteiden käyttö myötävaikuttaa sellaisen järjestelmän luomiseen, jota on helppo ylläpitää ja jota on helppo laajentaa ajan myötä [3] . SOLID-periaatteet ovat suuntaviivoja, joita voidaan soveltaa myös työskennellessäsi olemassa olevien ohjelmistojen parissa sen parantamiseksi, kuten " haisevan koodin " poistamiseksi.
Ketterät ja mukautuvat kehitysstrategiat [ [3] sisältävät koodin kirjoittamisen SOLID-periaatteiden mukaisesti.
Periaatteet
Seuraavat 5 KIINTEÄ periaatetta auttavat
pääsemään eroon "huonon projektin merkeistä" [4] :
Alkukirjain
|
Edustaa [1]
|
Otsikko [4] , käsite
|
S
|
SRP [5]
|
yhden vastuun periaate
Jokaiselle luokalle on määriteltävä yksi tarkoitus. Kaikki sen toteuttamiseen tarvittavat resurssit tulee kapseloida tähän luokkaan ja alistaa vain tälle tehtävälle.
|
O
|
OCP [6]
|
Avoimuuden / läheisyyden periaate (avoin-suljettu periaate)
"Ohjelmistokokonaisuuksien ... pitäisi olla avoinna laajentamista varten, mutta suljettuina muokkauksille."
|
L
|
LSP [7]
|
Liskovin korvausperiaate
"Perustyyppiä käyttävien funktioiden pitäisi pystyä käyttämään perustyypin alatyyppejä tietämättään." Katso myös sopimusohjelmointi .
|
minä
|
Internet-palveluntarjoaja [8]
|
rajapinnan erotteluperiaate
"Monet asiakaskohtaiset rajapinnat ovat parempia kuin yksi yleiskäyttöinen käyttöliittymä" [9] .
|
D
|
DIP [10]
|
Riippuvuuden inversioperiaate
"Riippuvuus abstraktioista. Ei ole riippuvaisuutta jostakin erityisestä" [9] .
|
Katso myös
Muistiinpanot
- ↑ 1 2 Martin, Robert (Bob-setä). O.O.D.:n periaatteet butunclebob.com. Haettu 3. toukokuuta 2016. Arkistoitu alkuperäisestä 25. lokakuuta 2016. (määrätön) (huomaa viittaus viiteen ensimmäiseen periaatteeseen, eli artikkelissa ei käytetä lyhennettä.)
- ↑ Martin, Robert (Bob-setä). HYVÄ aloitus . objectmentor.com. Haettu 3. toukokuuta 2016. Arkistoitu alkuperäisestä 26. joulukuuta 2016. (määrätön)
- ↑ 1 2 3 Sandi Metz (Duke University). SOLID Object-Oriented Design (linkki ei ole käytettävissä) . Haettu 3. toukokuuta 2016. Arkistoitu alkuperäisestä 29. maaliskuuta 2014. (määrätön) Puhuminen vuoden 2009 Gotham Ruby -konferenssissa toukokuussa 2009.
- ↑ 1 2 Robert S. Martin, Mika Martin. Ketterän kehityksen periaatteet, mallit ja tekniikat C#:ssa. - Pietari. : Symbol-plus, 2011. - S. 8. - 768 s. - ISBN 978-5-93286-197-4 .
- ↑ Yhden vastuun periaate . Arkistoitu alkuperäisestä 1. kesäkuuta 2015. (määrätön)
- ↑ Avoin/suljettu periaate . Arkistoitu alkuperäisestä 5. syyskuuta 2015. (määrätön)
- ↑ Liskovin substituutioperiaate . Arkistoitu alkuperäisestä 5. syyskuuta 2015. (määrätön)
- ↑ Interface Segregation Principle (1996). Arkistoitu alkuperäisestä 5. syyskuuta 2015. (määrätön)
- ↑ 1 2 Martin, Robert (Bob-setä). Suunnitteluperiaatteet ja suunnittelumallit . objectmentor.com (2000). Haettu 14. tammikuuta 2009. Arkistoitu alkuperäisestä 6. syyskuuta 2015. (määrätön)
- ↑ Riippuvuuden inversioperiaate . Arkistoitu alkuperäisestä 5. syyskuuta 2015. (määrätön)
Kirjallisuus
- Robert S. Martin, James W. Newkirk, Robert S. Koss. Nopea ohjelmistokehitys. Periaatteet, esimerkit, käytäntö. - Williams, 2004, ISBN 5-8459-0558-3 , ISBN 0-13-597444-5 .
- Martin R., Martin M. Ketterät periaatteet, mallit ja tekniikat C#:ssa. - Symbol Plus , 2011 _ _ _ _ _
- Martin, R. Clean Architecture. Ohjelmistokehityksen taidetta. = Puhdas arkkitehtuuri. Käsityöläisen opas ohjelmistojen rakenteeseen ja suunnitteluun. - Pietari, 2018. - ISBN 978-5-4461-0772-8 .
Linkit