顯示具有 開放封閉原則 標籤的文章。 顯示所有文章
顯示具有 開放封閉原則 標籤的文章。 顯示所有文章

2015年10月15日 星期四

[ 設計原則 ] - 開放封閉原則(OCP,Open-Closed Principle)

 開放封閉原則(OCP,Open-Closed Principle),光從名稱來看的話,這個其實是相當矛盾的一種原則,要怎麼又開放,又封閉呢?其實這個更具體的來說是要「開放擴充」、「封閉修改」,例如我們寫了一個服務,這個服務他提供了MS-SQL的資料提供,這個時候公司下一個案子進來了,客戶是用Oracle資料庫時,我們如果去修改了原始提供服務的類別,那麼就違背了這個原則,那我們應該怎麼做呢?我們應該為資料提供類別取出抽象的介面,而資料的提供都依賴這個介面,如此一來,我們就可以輕鬆的替換原始的邏輯了。