I l @ ve RuBoard |
We started using Class Responsibilities and Collaboration (CRC) cards to design the objects we were developing. In our CRC sessions we defined each class on a big card and we mixed up the cards to show class responsibilities and collaborations. With movable cards we could easily see that multiple classes shared the same data access functions and so we would remove a method from 10 classes and make a new one to do the job for all. [1] At the end of these sessions we would stick the cards on the wall where the programmers work.
Soon we where using cards to represent a Web site. Cards could represent content on a page from an XML file, navigation on a page from an XSLT file, and the layout of the page from a cascading style sheet. From these exercises came the design patterns discussed in Chapter 8. Server-side programmers used cards to show interface programmers the interactions of servlets and DLLs with JSP and ASP pages. Database schemas were quickly developed using cards as well. It wasn't long before cards replaced all of our design tools. CRC cards are great because they are disposable, are easy to move around, and can be transformed from conceptual to implementation tools by the simple addition of more information. For a team cards are great because they are big and can be stuck on the wall for all to see. |
I l @ ve RuBoard |