„Objektumorientált szoftvertervezés - Tervezési minták” változatai közötti eltérés
Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotTervezesiMintak}} __TOC__ ==9.1. Külső segédletek:== * {{InLineFileLink|Infoszak|OotTervezesiMintak|jegyzetPatternek_.pdf|Design_Pat…” |
autoedit v2: fájlhivatkozások egységesítése, az új közvetlenül az adott fájlra mutat |
||
| (5 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva) | |||
| 1. sor: | 1. sor: | ||
__TOC__ | |||
==Külső segédletek:== | |||
[[Media:jegyzetPatternek_.pdf]] - néhány tervezési minta alaposabb kidolgozása | |||
[[Media:Szoftvertechnikak_Design_Patterns_16-17.pdf]] - Szoftvertechnikak_Design_Patterns_16-17.pdf | |||
== | ==Mintkák röviden== | ||
===Callback=== | ===Callback=== | ||
| 16. sor: | 14. sor: | ||
Mármint az első hívást ugye a kliens kezdeményezi, és utána ha esemény történik, akkor a szerepek megcserélődnek, és a szerver kezdeményez visszahívást a kliensek felé. | Mármint az első hívást ugye a kliens kezdeményezi, és utána ha esemény történik, akkor a szerepek megcserélődnek, és a szerver kezdeményez visszahívást a kliensek felé. | ||
[[File:callback.png]] | |||
===Factory=== | ===Factory=== | ||
| 23. sor: | 21. sor: | ||
A szerver minden egyes új hívásnál új példányt hoz létre a kiszolgáló servantból. | A szerver minden egyes új hívásnál új példányt hoz létre a kiszolgáló servantból. | ||
[[File:factory.png]] | |||
===Mobil ügynök=== | ===Mobil ügynök=== | ||
| 31. sor: | 29. sor: | ||
Lehet például arra használni, hogy elküldeni egy adatbázisnak, ott leszelektálja az eredményt, majd azzal visszajön, így ha valamit nem tudunk SQL-be megírni, akkor is csak minimális lesz a hálózati forgalom. | Lehet például arra használni, hogy elküldeni egy adatbázisnak, ott leszelektálja az eredményt, majd azzal visszajön, így ha valamit nem tudunk SQL-be megírni, akkor is csak minimális lesz a hálózati forgalom. | ||
[[File:mobileagent.png]] | |||
===Observer=== | ===Observer=== | ||
| 71. sor: | 70. sor: | ||
Objektumok viselkedésének kiterjesztése anélkül, hogy módosítanánk az oszályt. | Objektumok viselkedésének kiterjesztése anélkül, hogy módosítanánk az oszályt. | ||
Szükséges hozzá egy | Szükséges hozzá egy IAdaptable interface, amiben van egy Object getAdapter(Class adapter) fv. Ez megkapja, hogy mivé szeretnénk kiegészíteni(adapter class-a), és létrehozza azt, majd visszaadja. A kiegészítendő osztályunknak ezt kell implementálnia. | ||
A probléma ezzel az, hogy ha új kiegészítést akarunk felvenni(új fajta adapter), akkor módosítanunk kell az osztályt. Erre megoldás, ha létrehozunk egy IAdapterFactory-t és egy IAdapterManager-t(ez benne van az Eclipse-ben, szal ezt nem kell nekünk megírni), ahol az AdapterManager-be regisztálhatunk adaptereketé az AdapterFactoryból pedig a Object getAdapter(Object adaptableObject, Class adapterType) fv-n keresztül elkérhetjük a kiterjeszteni kívánt osztályhoz tartozó adaptert. | A probléma ezzel az, hogy ha új kiegészítést akarunk felvenni(új fajta adapter), akkor módosítanunk kell az osztályt. Erre megoldás, ha létrehozunk egy IAdapterFactory-t és egy IAdapterManager-t(ez benne van az Eclipse-ben, szal ezt nem kell nekünk megírni), ahol az AdapterManager-be regisztálhatunk adaptereketé az AdapterFactoryból pedig a Object getAdapter(Object adaptableObject, Class adapterType) fv-n keresztül elkérhetjük a kiterjeszteni kívánt osztályhoz tartozó adaptert. | ||
| 83. sor: | 82. sor: | ||
Hasonló, mint a Decorator, de ez nem ad plusz funkcionalitást az objektumhoz, csak elérhető/nem elérhetővé teszi azt. | Hasonló, mint a Decorator, de ez nem ad plusz funkcionalitást az objektumhoz, csak elérhető/nem elérhetővé teszi azt. | ||
== | ==Gyors összefoglaló== | ||
* Konténerek + komponensek -> Composite pattern | * Konténerek + komponensek -> Composite pattern | ||
| 91. sor: | 90. sor: | ||
* JTree-nél Null Object pattern | * JTree-nél Null Object pattern | ||
* SortedSet -> Comparator pattern | * SortedSet -> Comparator pattern | ||
* | * Chatserver, SAX eseményvezérlése -> Callback pattern | ||
* Bankfiók életciklus -> Factory pattern | * Bankfiók életciklus -> Factory pattern | ||
* RMI stub, szövegszerkesztő -> Proxy pattern | * RMI stub, szövegszerkesztő -> Proxy pattern | ||
* Beágyazott mobil Java ME eseménykezelője (registry miatt)-> Whiteboard pattern | * Beágyazott mobil Java ME eseménykezelője (registry miatt)-> Whiteboard pattern | ||
* java.concurrent.CopyOnWriteArrayList -> Composite | |||
* java.util.Comparator -> Strategy | |||
* java.rmi.server.RemoteStub -> Proxy | |||
* javax.swing.GroupLayout.ParalellGroup -> Strategy | |||
-- [[SallaiTamas|sashee]] - 2009.05.19. <br /> | -- [[SallaiTamas|sashee]] - 2009.05.19. <br /> | ||
| 100. sor: | 103. sor: | ||
-- [[FelberPeter|Eff]] - 2010.06.12. | -- [[FelberPeter|Eff]] - 2010.06.12. | ||
--[[Szerkesztő:Ferrero|Szabó Csaba]] ([[Szerkesztővita:Ferrero|vita]]) 2012. december 17., 22:44 (CET) | |||
[[Category:Infoszak]] | [[Category:Infoszak]] | ||