SOLID (objektově orientované programování)
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 8. října 2018; kontroly vyžadují
39 úprav .
SOLID (zkratka anglického single zodpovědnosti , open-closed , Liskov substituce , interface segregation and dependency inversion ) v programování je mnemotechnická zkratka , kterou zavedl Michael Feathers pro prvních pět principů pojmenovaných Robertem Martinem [1] [2] na počátku 20. století . [3] , což znamenalo 5 základních principů objektově orientovaného programování a designu .
K čemu jsou principy SOLID?
Při tvorbě softwarových systémů přispívá využití principů SOLID k vytvoření systému, který se bude snadno udržovat a časem rozšiřovat [3] . Principy SOLID jsou pokyny, které lze také použít při práci na stávajícím softwaru za účelem jeho vylepšení, jako je odstranění „ zapáchajícího kódu “.
Agilní a adaptivní vývojové strategie [3] zahrnují psaní kódu v souladu s principy SOLID.
Principy
Následujících 5 zásad SOLID pomáhá
zbavit se „známek špatného projektu“ [4] :
Počáteční
|
Představuje [1]
|
Název [4] , koncept
|
S
|
SRP [5]
|
princip jediné odpovědnosti
Pro každou třídu musí být definován jeden účel. Všechny prostředky nezbytné pro jeho realizaci by měly být zapouzdřeny v této třídě a podřízeny pouze tomuto úkolu.
|
Ó
|
OCP [6]
|
Princip otevřenosti / uzavřenosti (princip otevřeno-uzavřeno)
"softwarové entity... by měly být otevřené pro rozšíření, ale uzavřené pro úpravy."
|
L
|
LSP [7]
|
Liskovský princip substituce
"funkce, které používají základní typ, by měly být schopny používat podtypy základního typu, aniž by o tom věděly." Viz také programování smluv .
|
já
|
ISP [8]
|
princip segregace rozhraní
"mnoho klientských rozhraní je lepších než jedno univerzální rozhraní" [9] .
|
D
|
DIP [10]
|
Princip inverze závislosti
„Závislost na abstrakcích. Neexistuje závislost na něčem konkrétním“ [9] .
|
Viz také
Poznámky
- ↑ 1 2 Martin, Robert (strýček Bob). Principy O.O.D. butunclebob.com. Získáno 3. května 2016. Archivováno z originálu 25. října 2016. (neurčitý) (všimněte si odkazu na „prvních pět zásad“, tj. článek nepoužívá zkratku.)
- ↑ Martin, Robert (strýček Bob). SOLID start . objectmentor.com. Staženo 3. 5. 2016. Archivováno z originálu 26. 12. 2016. (neurčitý)
- ↑ 1 2 3 Sandi Metz (Duke University). SOLID objektově orientovaný návrh (odkaz není k dispozici) . Získáno 3. května 2016. Archivováno z originálu dne 29. března 2014. (neurčitý) Ve svém projevu na konferenci Gotham Ruby v roce 2009 v květnu 2009.
- ↑ 1 2 Robert S. Martin, Mika Martin. Principy, vzory a techniky agilního vývoje v C#. - Petrohrad. : Symbol-plus, 2011. - S. 8. - 768 s. - ISBN 978-5-93286-197-4 .
- ↑ Princip jednotné odpovědnosti . Archivováno z originálu 1. června 2015. (neurčitý)
- ↑ Princip otevřený/uzavřený . Archivováno z originálu 5. září 2015. (neurčitý)
- ↑ Liskovův substituční princip . Archivováno z originálu 5. září 2015. (neurčitý)
- ↑ Princip segregace rozhraní (1996). Archivováno z originálu 5. září 2015. (neurčitý)
- ↑ 1 2 Martin, Robert (strýček Bob). Návrhové principy a návrhové vzory . objectmentor.com (2000). Získáno 14. ledna 2009. Archivováno z originálu 6. září 2015. (neurčitý)
- ↑ Princip inverze závislostí . Archivováno z originálu 5. září 2015. (neurčitý)
Literatura
- Robert S. Martin, James W. Newkirk, Robert S. Koss. Rychlý vývoj softwaru. Principy, příklady, praxe. - Williams, 2004, ISBN 5-8459-0558-3 , ISBN 0-13-597444-5 .
- Martin R., Martin M. Agilní principy, vzory a techniky v C#. - Symbol Plus , 2011 _ _ _ _ _
- Martin, R. Čistá architektura. Umění vývoje softwaru. = Čistá architektura. Průvodce pro řemeslníky strukturou a návrhem softwaru. - Petr, 2018. - ISBN 978-5-4461-0772-8 .
Odkazy