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]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]- ↑ a b Beck, Kent & Cunningham, Ward (Feb 2012), "A laboratory for teaching object oriented thinking", ACM SIGPLAN Notices (india, NY, USA: Abg) 24 (10): 1–6, ISBN 978-0-89791-333-1, DOI 10.1145/74878.74879
- ↑ a b Martin Fowler, UML Distilled, chapter 4
- ↑ A concise introduction at extremeprogramming.org
Fordítás
[szerkesztés]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]- 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ő