開放封閉原則 (Open-Closed Principle (OCP)) 談論的是,軟體開發所使用的類、方法等,應該具備能拓展,且不須透過手動修改。

在開發大型架構(或框架)時,嚴謹遵照這個方式,才能讓架構保持靈活與易擴充性。

實作方式,都是透過抽象的方式來處理:

  • 繼承
  • 介面
  • 依賴注入 …等

在今天,我們開發專案多會選擇以OCP拓展的框架,在套件擴充及開發都會比較容易上手。

實際開發過程,如果是一些小專案,則可不必強制解耦合,尚未明確的內容提前被封裝,導致需求變動時,修改的成本會隨之提升。

因此,都會建議在剛開始先將邏輯完成,後續再透過重構方式來做封裝。