参考:
http://argouml-stats.tigris.org/documentation/manual-0.30-single/manual.html#app.crc
The Object Primer (3rd edition)->8.3 Class Responsibility Collaborator (CRC) Cards
http://www.ambysoft.com/books/theObjectPrimer.html
http://c2.com/doc/crc/draw.html
http://blog.youkuaiyun.com/onight/article/details/4913065
CRC card:三个元素:类名,责任,合作类
开始用于教学,5~6人一组。每个人拿一张卡片代表一个类。一起描述过程。持有正在工作的类的人把卡片举起来。
http://c2.com/doc/oopsla89/paper.html
We suggest driving a design toward completion with the aid of execution scenarios. We start with only one or two obvious cards and start playing "what-if". If the situation calls for a responsibility not already
covered by one of the objects we either add the responsibility to one of the objects, or create a new object to address that responsibility. If one of the object becomes too cluttered during this process we copy the information on its card to a new card, searching
for more concise and powerful ways of saying what the object does. If it is not possible to shrink the information further, but the object is still too complex, we create a new object to assume some of the responsibilities.
从一两个对象开始,如果发现一个职责搞不定,就把职责加给已有的对象或者新建一个对象。如果一个对象的职责太混乱就拷贝出来精简,精简不下去就新建一个对象。