<<< Refine the classes by specifying dependencies | Index | Reorganization of class hierarchies >>> |
The more classes depend on a class, the more general that class should be, and the fewer implementation details it should reveal.
An interface is an abstract class presenting very general operations.
Most important aim of a design is to provide interfaces that can remain stable in the face of changes.
Fat interface: Resist temptation of "making a class more useful" by adding operations.
Instead, keep classes general and abstract, and consider hierarchies of abstract classes.
<<< Refine the classes by specifying dependencies | Index | Reorganization of class hierarchies >>> |