Osztály-felelősség-együttműködés kártya

A Wikipédiából, a szabad enciklopédiából
Ugrás a navigációhoz Ugrás a kereséshez

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 objektum-orientá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]

  1. A kártya tetején az osztály neve
  2. Bal oldalon az osztály felelőssége
  3. 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]

  1. 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
  2. a b Martin Fowler, UML Distilled, chapter 4
  3. 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 jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További információk[szerkesztés]

Kapcsolódó szócikkek[szerkesztés]