„SOLID” változatai közötti eltérés
[nem ellenőrzött változat] | [nem ellenőrzött változat] |
10. sor: | 10. sor: | ||
; [[Liskov helyettesítési elv]] - Liskov substitution principle<ref>{{cite web |title=Liskov Substitution Principle |url=http://www.objectmentor.com/resources/articles/lsp.pdf |archiveurl=https://web.archive.org/web/20150905081111/http://www.objectmentor.com/resources/articles/lsp.pdf |url-status=dead |archivedate=5 September 2015 |work=objectmentor.com}}</ref> |
; [[Liskov helyettesítési elv]] - Liskov substitution principle<ref>{{cite web |title=Liskov Substitution Principle |url=http://www.objectmentor.com/resources/articles/lsp.pdf |archiveurl=https://web.archive.org/web/20150905081111/http://www.objectmentor.com/resources/articles/lsp.pdf |url-status=dead |archivedate=5 September 2015 |work=objectmentor.com}}</ref> |
||
: Minden osztály legyen helyettesíthető a leszármazott osztályával anélkül, hogy a program helyes működése megváltozna. |
: Minden osztály legyen helyettesíthető a leszármazott osztályával anélkül, hogy a program helyes működése megváltozna. |
||
; Interfész elválasztási elv - Interface segregation principle<ref>{{cite web |title=Interface Segregation Principle |url=http://www.objectmentor.com/resources/articles/isp.pdf |archiveurl=https://web.archive.org/web/20150905081110/http://www.objectmentor.com/resources/articles/isp.pdf |url-status=dead |archivedate=5 September 2015 |date=1996 |website=objectmentor.com}}</ref> |
; [[Interfészszegregációs alapelv|Interfész elválasztási elv]] - Interface segregation principle<ref>{{cite web |title=Interface Segregation Principle |url=http://www.objectmentor.com/resources/articles/isp.pdf |archiveurl=https://web.archive.org/web/20150905081110/http://www.objectmentor.com/resources/articles/isp.pdf |url-status=dead |archivedate=5 September 2015 |date=1996 |website=objectmentor.com}}</ref> |
||
: Több specifikus interfész jobb, mint egy általános. |
: Több specifikus interfész jobb, mint egy általános. |
||
; Függőség megfordítási elv - Dependency inversion principle<ref>{{cite web |title=Dependency Inversion Principle |url=http://www.objectmentor.com/resources/articles/dip.pdf |archiveurl=https://web.archive.org/web/20150905081103/http://www.objectmentor.com/resources/articles/dip.pdf |url-status=dead |archivedate=5 September 2015 |work=objectmentor.com}}</ref> |
; Függőség megfordítási elv - Dependency inversion principle<ref>{{cite web |title=Dependency Inversion Principle |url=http://www.objectmentor.com/resources/articles/dip.pdf |archiveurl=https://web.archive.org/web/20150905081103/http://www.objectmentor.com/resources/articles/dip.pdf |url-status=dead |archivedate=5 September 2015 |work=objectmentor.com}}</ref> |
A lap 2020. május 31., 23:50-kori változata
Ezt a szócikket át kellene olvasni, ellenőrizni a szöveg helyesírását és nyelvhelyességét, a tulajdonnevek átírását. Esetleges további megjegyzések a vitalapon. |
Az objektumorientált programozásban a SOLID egy mozaikszó, amely az öt tervezési alapelv (Single responsibility principle, Open/closed principle, Liskov substitution principle, Interface segregation principle, Dependency inversion principle) kezdőbetűjéből áll, és célja, hogy a szoftvertervezést még érthetőbbé, rugalmasabbá és karbantarthatóvá tegye. A SOLID-nak semmi köze a felelősségek hozzárendelésének általános mintáihoz (General Responsibility Assignment Software Patterns, GRASP). A S.O.L.I.D. alapelvek szülőatyja Robert Cecil Martin amerikai mérnök informatikus és tanácsadó, aki nem csak a „tiszta kód mozgalom” vezérszónoka, hanem többek között az Agile Manifesto egyik eredeti megfogalmazója is. Ezek az alapelvek adják a magját az agilis szoftverfejlesztésnek vagy adaptív szoftverfejlesztésnek. Az elméletét Martin Design Principles and Design Patterns[1][2] című könyvében mutatta be, de mint mozaikszó csak később Michael Feathers révén terjedt el.
Összetevők
- Egyetlen felelősség elve - Single Responsibility Principle[3]
- Egy osztály vagy modul egy, és csak egy felelősséggel rendelkezzen (azaz: egy oka legyen a változásra).
- Nyilt/zárt elv - Open/Closed Principle[4]
- Egy osztály vagy modul legyen nyílt a kiterjesztésre, de zárt a módosításra.
- Liskov helyettesítési elv - Liskov substitution principle[5]
- Minden osztály legyen helyettesíthető a leszármazott osztályával anélkül, hogy a program helyes működése megváltozna.
- Interfész elválasztási elv - Interface segregation principle[6]
- Több specifikus interfész jobb, mint egy általános.
- Függőség megfordítási elv - Dependency inversion principle[7]
- A kód függjön absztrakcióktól, ne konkrét implementációktól.
Jegyzetek
- ↑ Robert C. Martin: Getting a SOLID start. objectmentor.com . (Hozzáférés: 2013. augusztus 19.)
- ↑ Robert C. Martin: Design Principles and Design Patterns. [2015. szeptember 6-i dátummal az eredetiből archiválva].
- ↑ Egy felelősség alapelve Single Responsibility Principle. objectmentor.com . [2015. június 1-i dátummal az [[https://hu.wikipedia.org/wiki/Egy_felelősség_alapelve|Egy felelősség alapelve] eredetiből] archiválva].
- ↑ Open/Closed Principle. objectmentor.com . [2015. szeptember 5-i dátummal az eredetiből archiválva].
- ↑ Liskov Substitution Principle. objectmentor.com. [2015. szeptember 5-i dátummal az eredetiből archiválva].
- ↑ Interface Segregation Principle. objectmentor.com , 1996 [2015. szeptember 5-i dátummal az eredetiből archiválva].
- ↑ Dependency Inversion Principle. objectmentor.com. [2015. szeptember 5-i dátummal az eredetiből archiválva].
Fordítás
- Ez a szócikk részben vagy egészben a SOLID című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.