Different organizational methods reveal different things when programming. A conceptual design presents your application in one way, but using CRC cards offers a different way of interpreting the same data. Class, Responsibility, Collaboration cards allow you to quickly notate relevant information for each class and organize classes in a variety of ways. Learn how to apply CRC cards to your application by watching this online video.
- View Offline
Here is an alternate technique commonly found at this stage of an…Object-Oriented Design: CRC Cards.…CRC stands for Class, Responsibility, Collaboration.…Now we're looking for exactly the same information as in the conceptual object…diagram, we're just using a different format, and these are another use of index…cards, they're simple, they're easy to create, easy to discuss, hand around,…spread across the conference table, and they're easy to dispose of if you make a…mistake or change your mind.…Each CRC card represents one class.…
It has three sections, the first C is the name of the class at the top, usually…underlined, the R is the responsibilities of the class, the things that needs to…take care of, and C is the Collaborators, the other classes it interacts with.…Typically, CRC cards use this format with the responsibilities in the…left-hand side two-thirds of the card, and the collaborators on what's…remaining on the right.…And you can start creating these again from using the nouns in your descriptions…
Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
- Why use object-oriented design (OOD)?
- Pinpointing use cases, actors, and scenarios
- Identifying class responsibilities and relationships
- Creating class diagrams
- Using abstract classes
- Working with inheritance
- Creating advanced UML diagrams
- Understanding object-oriented design principles