设计原则之开闭原则
首先要明白的三個問題?
開閉原則是什么?
為什么要使用開閉原則
怎么使用開閉原則
取自設計模式之禪中的例子:
正常的書店賣書,突然有一天書店要打折,就需要對系統進行修改
有如下幾種修改方式
1.修改實現類:通過修改實現類中的getPrice()方法,實現打折處理
2.通過擴展實現變化,新增一個子類繼承子NovelBook,重寫getPrice()方法,實現打折功能
第一種方案在技術實現上是可行的,但該方法的一個缺陷就是:采購人員也要看價格,該方法已實現了打折處理價格,會導致采購人員對價格判斷錯誤
第二種方案業務變化對之前的影響很小,修改風險也小,更優
更改后的類圖如下:
開閉原則對擴展開放,對修改關閉,并不意味著不做任何修改,地層模塊的變更,必然要有高層模塊進行耦合
總結
- 上一篇: 我的大理行
- 下一篇: (转)基于svnserve的服务器,权限