Osztály-felelősség-együttműködés kártya
Az osztály-felelősség-együttműködés kártyák (angolul class-responsibility-collaboration (CRC)) ötletbörze eszközök, amelyeket az objektumorientált szoftverek tervezéséhez használnak. Eredetileg Ward Cunningham és Kent Beck javasolta oktatási eszközként,[1] de a szakértő programtervezők körében is népszerűek[2] és a extrém programozási pártolói is ajánlják.[3] Martin Fowler a CRC-kártyákat az UML szekvenciadiagram életképes alternatívájaként írta le az objektum-interakció és együttműködés dinamikájának megtervezéséhez.
A CRC-kártyákat általában indexkártyákból hozzák létre. Az ötletbörze tagjai egy-egy CRC-kártyát használnak, amelyekre adatokat írnak a terv minden egyes osztályáról/ objektumáról. A kártyát három részre osztják:[1][2]
- A kártya tetején az osztály neve
- Bal oldalon az osztály felelőssége
- Jobb oldalon együttműködők (más osztályok), amellyel az osztály interakcióba lép a kötelezettségeinek teljesítése érdekében
Kis kártyák használatával a terv bonyolultsága minimális szinten tartható. Segítségével a programtervezők összpontosíthatnak az osztályok lényegére és megakadályozza őket, hogy belemerüljenek a részletekbe, amikor azok még nem hasznosak. Ezenfelül elbátortalanít attól, hogy egy osztálynak túl sok felelősséget adjanak. Mivel a kártyák hordozhatóak, ezért könnyedén kirakhatóak egy asztalra és a terv megbeszélése közben átrendezhetőek.
CRC-kártyák létrehozása
[szerkesztés | forrásszöveg szerkesztése]Egy CRC-kártya létrehozásához először is egy forgatókönyvvel kell előállni, amely megállapítja, hogy kik a fő szereplők és mik a szereplők által végrehajtott műveletek. Csak az adott helyzetben előforduló műveletek és szereplők legyenek benne. A főneveknek kellene az osztály nevekké, az igéknek pedig az osztály felességekké válniuk, az együttműködők pedig a többi osztályok, amelyek azzal az osztállyal interakcióba lép.
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- 1 2 Beck, Kent; Cunningham, Ward (2012. február), "A laboratory for teaching object oriented thinking", ACM SIGPLAN Notices, 24 (10), india, NY, USA: Abg: 1–6, doi:10.1145/74878.74879, ISBN 978-0-89791-333-1
{{citation}}: CS1 karbantartás: írásmű paraméter és ISBN (link) - 1 2 Martin Fowler, UML Distilled, chapter 4
- ↑ A concise introduction at extremeprogramming.org
Fordítás
[szerkesztés | forrásszöveg szerkesztése]- Ez a szócikk részben vagy egészben a Class-responsibility-collaboration card 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.
További információk
[szerkesztés | forrásszöveg szerkesztése]- A Laboratory For Teaching Object-Oriented Thinking Kent Beck és Ward Cunningham papírja
- A HotDraw CRC leírása
- Tömör bevezetés az extremeprogramming.org oldalon
- Egy egyszerű online CRC-szerkesztő