SOLID (objektum-orientált programozás)
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. október 8-án felülvizsgált
verziótól ; az ellenőrzések 39 szerkesztést igényelnek .
A SOLID (az angol single felelősség , nyitott- zárás , Liskov-helyettesítés , interfész szegregáció és függőségi inverzió ) rövidítése a programozásban Michael Feathers által a 2000-es évek elején Robert Martin [1] [2] által elnevezett első öt alapelvről bevezetett emlékezetes mozaikszó . [3] , ami az objektumorientált programozás és tervezés 5 alapelvét jelentette .
Mire valók a SOLID elvek?
Szoftverrendszerek létrehozásakor a SOLID elveinek alkalmazása hozzájárul egy olyan rendszer létrehozásához, amely könnyen karbantartható és idővel bővíthető [3] . A SOLID alapelvek olyan irányelvek, amelyek a meglévő szoftvereken végzett munka során is alkalmazhatók annak javítására, például a „ szagló kód ” eltávolítására.
Az agilis és adaptív fejlesztési stratégiák [3] magukban foglalják a SOLID elveknek megfelelő kódírást.
Alapelvek
A következő 5 SZILÁRD alapelv segít
megszabadulni a „rossz projekt jeleitől” [4] :
A kezdeti
|
Jelenti [1]
|
Cím [4] , koncepció
|
S
|
SRP [5]
|
egységes felelősség elve
Minden osztályhoz egyetlen célt kell meghatározni. A megvalósításhoz szükséges összes erőforrást ebbe az osztályba kell foglalni , és csak ennek a feladatnak kell alárendelnie.
|
O
|
OCP [6]
|
A nyitottság / zártság elve (nyitott-zárt elv)
"A szoftver entitások ... nyitottnak kell lenniük a kiterjesztésre, de zárva a módosításra."
|
L
|
LSP [7]
|
Liskov helyettesítési elve
"az alaptípust használó függvényeknek képesnek kell lenniük az alaptípus altípusainak használatára anélkül, hogy tudnák róla." Lásd még a szerződéses programozást .
|
én
|
ISP [8]
|
interfész szegregáció elve
"sok kliens-specifikus interfész jobb, mint egy általános célú interfész" [9] .
|
D
|
DIP [10]
|
A függőségi inverzió elve
„Az absztrakcióktól való függés. Nincs függés valami konkréttól” [9] .
|
Lásd még
Jegyzetek
- ↑ 1 2 Martin, Robert (Bob bácsi). Az O.O.D. elvei butunclebob.com. Letöltve: 2016. május 3. Az eredetiből archiválva : 2016. október 25. (határozatlan) (jegyezd meg az "első öt alapelvre" való hivatkozást, azaz a cikk nem használja a betűszót.)
- ↑ Martin, Robert (Bob bácsi). SZILÁRD kezdés . objectmentor.com. Letöltve: 2016. május 3. Az eredetiből archiválva : 2016. december 26.. (határozatlan)
- ↑ 1 2 3 Sandi Metz (Duke Egyetem). SZILÁRD objektum-orientált tervezés (hivatkozás nem érhető el) . Letöltve: 2016. május 3. Az eredetiből archiválva : 2014. március 29. (határozatlan) Előadás a 2009-es Gotham Ruby konferencián 2009 májusában.
- ↑ 1 2 Robert S. Martin, Mika Martin. Az agilis fejlesztés elvei, mintái és technikái C# nyelven. - Szentpétervár. : Symbol-plus, 2011. - S. 8. - 768 p. - ISBN 978-5-93286-197-4 .
- ↑ Egységes felelősség elve . Az eredetiből archiválva : 2015. június 1. (határozatlan)
- ↑ Nyitott/zárt elv . Az eredetiből archiválva: 2015. szeptember 5. (határozatlan)
- ↑ Liskov-helyettesítési elv . Az eredetiből archiválva: 2015. szeptember 5. (határozatlan)
- ↑ Interfész szegregációs elv (1996). Az eredetiből archiválva: 2015. szeptember 5. (határozatlan)
- ↑ 1 2 Martin, Robert (Bob bácsi). Tervezési alapelvek és tervezési minták . objectmentor.com (2000). Letöltve: 2009. január 14. Az eredetiből archiválva : 2015. szeptember 6.. (határozatlan)
- ↑ A függőségi inverzió elve . Az eredetiből archiválva: 2015. szeptember 5. (határozatlan)
Irodalom
- Robert S. Martin, James W. Newkirk, Robert S. Koss. Gyors szoftverfejlesztés. Elvek, példák, gyakorlat. - Williams, 2004, ISBN 5-8459-0558-3 , ISBN 0-13-597444-5 .
- Martin R., Martin M. Agilis alapelvek, minták és technikák a C#-ban. - Symbol Plus , 2011 _ _ _ _ _
- Martin, R. Tiszta építészet. A szoftverfejlesztés művészete. = Tiszta architektúra. Kézműves útmutató a szoftver felépítéséhez és tervezéséhez. - Péter, 2018. - ISBN 978-5-4461-0772-8 .
Linkek