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. 1 2 Martin, Robert (Bob-setä). O.O.D.:n periaatteet butunclebob.com. Haettu 3. toukokuuta 2016. Arkistoitu alkuperäisestä 25. lokakuuta 2016. (huomaa viittaus viiteen ensimmäiseen periaatteeseen, eli artikkelissa ei käytetä lyhennettä.)
  2. Martin, Robert (Bob-setä). HYVÄ aloitus . objectmentor.com. Haettu 3. toukokuuta 2016. Arkistoitu alkuperäisestä 26. joulukuuta 2016.
  3. 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.   Puhuminen vuoden 2009 Gotham Ruby -konferenssissa toukokuussa 2009.
  4. ↑ 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 .
  5. Yhden vastuun periaate . Arkistoitu alkuperäisestä 1. kesäkuuta 2015.
  6. Avoin/suljettu periaate . Arkistoitu alkuperäisestä 5. syyskuuta 2015.
  7. Liskovin substituutioperiaate . Arkistoitu alkuperäisestä 5. syyskuuta 2015.
  8. Interface Segregation Principle (1996). Arkistoitu alkuperäisestä 5. syyskuuta 2015.
  9. 1 2 Martin, Robert (Bob-setä). Suunnitteluperiaatteet ja suunnittelumallit . objectmentor.com (2000). Haettu 14. tammikuuta 2009. Arkistoitu alkuperäisestä 6. syyskuuta 2015.
  10. Riippuvuuden inversioperiaate . Arkistoitu alkuperäisestä 5. syyskuuta 2015.

Kirjallisuus

Linkit