From the course: Learning SOLID Programming Principles

Unlock the full course today

Join today to access over 24,500 courses taught by industry experts.

CRC cards

CRC cards

- [Instructor] What's a good approach to creating a solid design? Each class needs to have a single responsibility, be open to extension while closed to modification, support Liskov off substitution have segregated interfaces and be dependent on abstractions. There are a lot of considerations. Here are two suggestions for tools that can help move from a story to a design. It can help to make paper cards. Yes paper, showing a class described by the responsibilities and collaborators. These CRC cards can be used to gather ideas and details of the class design. Automated test code is just as important as the application code. And I'll describe that separately. I'd like to start by looking at an old technique called CRC, class responsibility collaborators. The definitive guide to this is a white paper by Scott Ambler written way back in 1998. The CRC process is designed to be simple and flexible. The goal is to refine…

Contents