Key Points

 < Free Open Study > 

  • Class interfaces should provide a consistent abstraction. Many problems arise from violating this single principle.

  • A class interface should hide something a system interface, a design decision, or an implementation detail.

  • Containment is usually preferable to inheritance unless you're modeling an "is a" relationship.

  • Inheritance is a useful tool, but it adds complexity, which is counter to Software's Primary Technical Imperative of managing complexity.

  • Classes are your primary tool for managing complexity. Give their design as much attention as needed to accomplish that objective.

 < Free Open Study > 


Code Complete
Code Complete: A Practical Handbook of Software Construction, Second Edition
ISBN: 0735619670
EAN: 2147483647
Year: 2003
Pages: 334

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net