GofPatterns Gofpatterns  





Design Patterns  «Prev 

Object-oriented Design

When designing a system for an object- oriented implementation, you must:
  1. Identify the participants in the system
  2. Factor them into classes at the right level of granularity
  3. Define the public interface of each class
  4. Establish inheritance hierarchies
  5. Define the relationships between classes


Experienced developers may be able to build a working solution through this procedure.
However it is almost unheard of for even experienced designers to build a reusable solution on their first attempt.
Before you can build an extensible, reusable system, you are probably going to have to build a prototype to find out where your errors and misconceptions are.
Once you understand design patterns and have had a mind altering experience with them, you will not ever think about object-oriented design in the same way. You will have insights that can make your own designs more flexible, modular, and reusable, which is why you're interested in object-oriented technology in the first place.