Class-responsibility-collaboration card - Wikipedia, the free encyclopedia
Class-responsibility-collaboration (CRC) cards are a brainstorming tool used in the design of object-oriented software. They were originally proposed by Ward Cunningham and Kent Beck as a teaching tool,[1] but are also popular among expert designers[2] and recommended by extreme programming supporters.[3] Martin Fowler has described CRC cards as a viable alternative to UML sequence diagram to design the dynamics of object interaction and collaboration.[2]
CRC cards are usually created from index cards. Members of a brainstorming session will write up one CRC card for each relevant class/object of their design. The card is partitioned into three areas:[1][2]
- On top of the card, the class name
- On the left, the responsibilities of the class
- On the right, collaborators (other classes) with which this class interacts to fulfill its responsibilities
Using a small card keeps the complexity of the design at a minimum. It focuses the designer on the essentials of the class and prevents her/him from getting into its details and inner workings at a time when such detail is probably counter-productive. It also forces the designer to refrain from giving the class too many responsibilities. Because the cards are portable, they can easily be laid out on a table and re-arranged while discussing a design with other people.
Read full article from Class-responsibility-collaboration card - Wikipedia, the free encyclopedia
No comments:
Post a Comment