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:
  • [[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]]"