Кіріспе

Сыныптық жауапкершілік және ынтымақтастық (CRC) карталары – нысанаға бағытталған бағдарламалық құралдарды жобалауда қолданылатын идеялар жинау құралы. Оларды бастапқыда Уорд Каннингэм мен Кент Бек оқу құралы ретінде ұсынған, бірақ олар тәжірибелі дизайнерлердің арасында да танымал және жоғары дәрежелі бағдарламалаушылар ұсынады. Автор Мартин Фаулер CRC карталарының көбінесе мүмкін болатын өзара әрекеттесулерді жылдам ойлап табуға көмектесетінін, себебі олар көптеген сурет салу және түзетулерден сақтайтынын жазған. CRC карталарымен жұмыс істегеннен кейін, анықталған өзара әрекеттесулерді бейнелеу үшін тізбек диаграммаларын жасауға болады. CRC карталары жүйе және бағдарламалық құралдарды әзірлеудің жобалау кезеңінде жиі қолданылады, пайдалану сценарийлерінің сипаттамаларын сынып диаграммаларына ауыстыруға көмектеседі, бұл толыққанды түсінікпен тегіс өтуге және әзірлеушілерге байланыстылығы төмен және үйлесімділігі жоғары шешімдерді жүзеге асыруға мүмкіндік береді. CRC карталары әдетте индекс карталарынан жасалады. Идеялар жинау отырысының қатысушылары өз жобаларының әрбір маңызды класы/объектісі үшін бір CRC картасын жасайды. Карта үш бөлікке бөлінеді:

Картаның жоғарғы жағында – сыныптың атауы,
Сол жағында – сыныптың жауапкершіліктері,
Оң жағында – сыныптың жауапкершіліктерін орындау үшін өзара әрекеттесетін серіктестер (басқа сыныптар).

Шағын карталарды пайдалану жобаның күрделілігін азайтады, сыныптардың жауапкершіліктерін шектейді және дизайнерлерді сыныптардың маңызды аспектілеріне назар аударуға, оларды жүзеге асыру егжей-тегжейлеріне тоқталмай, көмектеседі. Карталар жылдам жылжымалы болғандықтан, оларды үстелге қойып, жобаны талқылау кезінде орын аударыстыру оңай.

CRC карталарын жасау

CRC карталарын жасау әдетте маңызды актерлер мен олардың іс-әрекеттерін анықтайтын сценарий жазудан басталады. Сценарийден есімдер сыныптарға, етістіктер жауапкершіліктерге айналады, ал серіктестер – бұл картаның өзара әрекеттесетін басқа карталары.