Open Closed Princple Rules
- Design should be opened for extensions and closed for modifications
- Isolate a responsibility for creating objects in a single module ([[Single Choice Principle]])
- Related patterns:
- Template Method Design Pattern
- [[Strategy Design Pattern]]
- [[Interface]] is suppler from the client's perspective, [[Abstract class]] is suppler from the developer's perspective.
- To overcome the problem of predicting the future, we rely on "[[agile design]]"