開放封閉原則 (Open-Closed Principle (OCP)) 談論的是,軟體開發所使用的類、方法等,應該具備能拓展,且不須透過手動修改。
在開發大型架構(或框架)時,嚴謹遵照這個方式,才能讓架構保持靈活與易擴充性。
實作方式,都是透過抽象的方式來處理:
- 繼承
- 介面
- 依賴注入 …等
在今天,我們開發專案多會選擇以OCP拓展的框架,在套件擴充及開發都會比較容易上手。
實際開發過程,如果是一些小專案,則可不必強制解耦合,尚未明確的內容提前被封裝,導致需求變動時,修改的成本會隨之提升。
因此,都會建議在剛開始先將邏輯完成,後續再透過重構方式來做封裝。