Karta pro společnou odpovědnost za třídu - Class-responsibility-collaboration card
Karty třídní odpovědnosti ( CRC ) jsou brainstormingovým nástrojem používaným při navrhování objektově orientovaného softwaru. Původně je navrhli Ward Cunningham a Kent Beck jako učební nástroj, ale jsou také populární mezi odbornými designéry a doporučují je extrémní příznivci programování . Martin Fowler ve své knize o UML popsal, že pokud chcete rychle prozkoumat více alternativních interakcí, může vám být lépe s kartami CRC, protože se tak vyhnete spoustě kreslení a mazání. Často je užitečné mít relaci karty CRC, abyste prozkoumali alternativy designu a poté pomocí sekvenčního diagramu zachytili všechny interakce, na které se chcete později obrátit. Karty CRC jsou součástí fáze návrhu v rámci vývoje systému / softwaru a poskytují dobrý přehled, pokud přejdete od popisu případů použití ke kartám CRC a poté ke schématům tříd. To umožňuje plynulejší přechod s větším přehledem a umožňuje vývojáři snadnější implementaci systému s nízkou vazbou a vysokou soudržností. Karty CRC se používají po popisu případů použití a před diagramy tříd v rámci vývoje softwaru, ale u menších projektů je lze přeskočit.
Karty CRC se obvykle vytvářejí z indexových karet . Členové brainstormingu vypíšou jednu kartu CRC pro každou příslušnou třídu / objekt svého návrhu. Karta je rozdělena do tří oblastí:
- V horní části karty název třídy
- Na levé straně odpovědnost třídy
- Na pravé straně spolupracovníci (jiné třídy), se kterými tato třída interaguje, aby plnila své povinnosti
Použití malé karty udržuje složitost designu na minimu. Zaměřuje designéry na základní náležitosti třídy a brání jim dostat se do jejích detailů a implementace v době, kdy jsou tyto detaily pravděpodobně kontraproduktivní. Také to nedoporučuje dávat třídě příliš mnoho odpovědnosti. Vzhledem k tomu, že jsou karty přenosné, lze je snadno vyložit na stůl a při diskusi o designu znovu uspořádat.
Vytváření CRC karet
Chcete-li vytvořit kartu CRC, můžete začít napsáním scénáře, který identifikuje hlavní aktéry a akce, které herci dělají. Vypisujte pouze akce a aktéry specifické pro konkrétní scénář. Podstatná jména by se měla natočit do tříd na kartě, slovesa zpravidla promění v odpovědnosti na kartě , a spolupracovníci jsou další karty, se kterými se bude karta interagující.
Viz také
Reference
externí odkazy
- Laboratoř pro výuku objektově orientovaného myšlení od Kenta Beck a Warda Cunninghama
- CRC popis HotDraw
- Stručný úvod na adrese extremeprogramming.org
- Jednoduchý online editor CRC