<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Class-Responsibility-Collaboration-Karten</id>
	<title>Class-Responsibility-Collaboration-Karten - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Class-Responsibility-Collaboration-Karten"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Class-Responsibility-Collaboration-Karten&amp;action=history"/>
	<updated>2026-05-27T06:16:39Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Class-Responsibility-Collaboration-Karten&amp;diff=219507&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Class-Responsibility-Collaboration-Karten&amp;diff=219507&amp;oldid=prev"/>
		<updated>2025-11-12T04:46:57Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;CRC-Karte&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;{{lang|en|Class-Responsibility-Collaboration}}-Karte&amp;#039;&amp;#039;&amp;#039;) ist ein Hilfsmittel für das  [[Objektorientiertes Design|objektorientierte Design]]. Das Konzept wurde Ende der 1980er Jahre von [[Ward Cunningham]] und [[Kent Beck]] entwickelt.&lt;br /&gt;
&lt;br /&gt;
Das Grundprinzip besteht darin, für jede [[Klasse (objektorientierte Programmierung)|Klasse]] eine [[Karteikarte]] zu erstellen und auf dieser deren Eigenschaften zu notieren. Für CRC-Karten gibt es keine allgemein gültige [[Notation]]. Man orientiert sich aber im Allgemeinen an den ersten, von Ward Cunningham gezeichneten Karten. Diese bestehen aus drei Bereichen:&lt;br /&gt;
* oben steht der Name der Klasse&lt;br /&gt;
* auf der linken Seite schreibt man die Verantwortlichkeiten der Klasse nieder&lt;br /&gt;
* auf der rechten Seite stehen die Klassen, mit denen die beschriebene Klasse zusammenarbeitet&lt;br /&gt;
Es gibt eine Vielzahl von Erweiterungen des ursprünglichen Konzepts, die zusätzliche Bereiche hinzufügen und teilweise auch die Rückseite der Karten mitverwenden.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil der CRC-Karten liegt in der einfachen Handhabung. Man kann problemlos Informationen hinzufügen oder streichen. Auf Grund des einfachen Ansatzes ist man auch unabhängig von verwendeten Programmiersprachen und -werkzeugen. Der begrenzte Platz zwingt die Entwickler zusätzlich dazu, sich auf die wesentlichen Aufgaben einer Klasse zu konzentrieren.&lt;br /&gt;
&lt;br /&gt;
[[Relation (Philosophie)|Relationen]] zwischen den Klassen kann man auf unterschiedlichen Wegen veranschaulichen. Entweder schreibt man die Namen der behandelten Klassen auf die Karte, oder man macht z.&amp;amp;nbsp;B. die Karten an einer Wand fest und zeichnet Striche zwischen die Karten.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Auf der Kartenvorderseite notiert man den Namen der Klasse und den der Superklasse (falls vorhanden). Außerdem werden das Verantwortungsgebiet und die Relation zu anderen Klassen kurz beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable hintergrundfarbe5&amp;quot; width=&amp;quot;587&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot; width=&amp;quot;50%&amp;quot; | Name der Klasse&lt;br /&gt;
! align=&amp;quot;right&amp;quot; | Superklasse&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;poem&amp;gt;&amp;#039;&amp;#039;&amp;#039;Verantwortungsgebiet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Beschreibung der Methoden&lt;br /&gt;
Übersichtliche Beschreibung der Methodenaufgaben.&amp;lt;/poem&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;poem&amp;gt;&amp;#039;&amp;#039;&amp;#039;Zusammenarbeit mit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Relation zu anderen Klassen.&amp;lt;/poem&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Auf der Rückseite beschreibt man die Klasse etwas detaillierter anhand eines Verzeichnisses der Operationen und der Attribute.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable hintergrundfarbe5&amp;quot; width=&amp;quot;587&amp;quot;&lt;br /&gt;
| &amp;lt;poem&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operationen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Verzeichnis über die Operationen in einem geeigneten Detailniveau.&lt;br /&gt;
Zunächst nur Angabe des Namens der Operation, später auch der Parameter.&amp;lt;/poem&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;poem&amp;gt;&amp;#039;&amp;#039;&amp;#039;Attribute&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Verzeichnis über die Attribute in einem geeigneten Detailniveau.&amp;lt;/poem&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
Auf CRC-Karten sollte nur das Wesentliche einer Klasse notiert werden. Zunächst führt man in der Regel den Klassennamen auf. Erst in der Analysephase, wenn mehr Informationen über die Klasse vorhanden sind, wird die Karte ergänzt. Falls kein Bedarf mehr besteht, kann man auch Informationen streichen oder sogar eine komplette Karte entfernen.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* Kent Beck, Ward Cunningham: &amp;#039;&amp;#039;[https://c2.com/doc/oopsla89/paper.html#cards {{lang|en|A Laboratory For Teaching Object-Oriented Thinking}}].&amp;#039;&amp;#039;&lt;br /&gt;
* Ward Cunningham: &amp;#039;&amp;#039;[https://c2.com/doc/crc/draw.html {{lang|en|A CRC Description of HotDraw}}].&amp;#039;&amp;#039; Die ersten, von ihrem Erfinder gezeichneten CRC-Karten.&lt;br /&gt;
* Ulli Gellesch: &amp;#039;&amp;#039;[http://www.dfpug.de/konf/konf_1998/02_oop/d_crc/d_crc.htm Einführung in die Arbeit mit CRC-Cards].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Objektorientierte Programmierung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>