Object-Oriented Design Heuristics
Posted on March 1st, 2008
- All data should be hidden within its class.
- Users of a class must be dependent on its public interface, but a class should not be dependent on its users.
- Minimize the number of messages in the protocol of a class.
- Implement a minimal public interface that all classes understand [e.g., operations such as copy (deep versus shallow), equality testing, pretty printing, parsing from an ASCII description, etc.].
- Do not put implementation details such as common-code private functions into the public interface of a class.
- Do not clutter the public interface of a class with things that users of that class are not able to use or are not interested in using.
- Classes should only exhibit nil or export coupling with other classes, that is, a class should only use operations in the public interface of another class or have nothing to do with that class.
- A class should capture one and only one key abstraction.
- Keep related data and behavior in one place.
- Spin off non related information into another class (i.e., non communicating behavior).
- Be sure the abstractions that you model are classes and not simply the roles objects play.
-- Sponsored Links --
-- Sponsored Links --
— Object-Oriented Design Heuristics By Arthur J. Riel
Filed under Programming |
Comments are closed.