Ugrás a tartalomhoz

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

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

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]

  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 | 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.

  1. 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)
  2. 1 2 Martin Fowler, UML Distilled, chapter 4
  3. ↑ A concise introduction at extremeprogramming.org
  • 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]

Kapcsolódó szócikkek

[szerkesztés | forrásszöveg szerkesztése]