Posted on 2009-03-12 09:57
love1563 閱讀(199)
評論(0) 編輯 收藏 所屬分類:
設計模式
4.1 什么是開---閉原則
開---閉原則講的是:一個軟件實體應當對擴展開放,對修改關閉。Software entities should be open for extension,but closed for modification.
這個原則說的是,在設計一個模塊的時候,應當使這個模塊可以在不被修改的前提下被擴展。換言之,應當可以在不必修改源代碼的情況下改變這個模塊的行為。
滿足開---閉原則的設計可以給一個系統兩個無可比擬的優越性:
·通過擴展已有的軟件系統,可以提供新的行為,以滿足對軟件的新需求,使變化中的軟件系統有一定適應性和靈活性。
·已有的軟件模塊,特別是最重要的抽象層不能再修改,這就使變化中的軟件系統有一定的穩定性和延續性。
具有這兩個有點的軟件系統是一個在高層次上實現了復用的系統,也是一個易于維護的系統。
4.2 怎樣做到開---閉原則
玉帝招安美猴王
不勞師動眾、不破壞天規便是“閉”,收仙有道便是“開”。招安之法便是玉帝天庭的“開--閉”原則,通過給美猴王封一個“弼馬溫”的官職,便可使現有系統滿足變化了的需求,而不必更改天庭的既有的秩序,如下圖:
招安之法的關鍵便是不允許更改現有的天庭秩序,但允許將妖猴納入現有的秩序中,從而擴展了這一秩序。用面向對象的語言來講,不允許更改的是系統的抽象層,而允許擴展的是系統的實現層。