Skip to content

Latest commit

 

History

History
15 lines (8 loc) · 518 Bytes

design_principles.md

File metadata and controls

15 lines (8 loc) · 518 Bytes

Design Principles

Encapsulate what varies

  • Identify the aspects of your application that vary and separate them from what stays the same.

Program to interfaces, not implementations

Favor composition over inheritance

Strive for loosely coupled designs between objects that interact

  • Loosely coupled designs allow us to build flexible OO systems that can handle change because they minimize the interdependency between objects.

Classes should be open for extension, but closed for modification