葉落知秋

          一葉落而知天下秋

          統計

          留言簿(1)

          Java相關

          閱讀排行榜

          評論排行榜

          開放---封閉原則(OCP)


           發表時間: 2008年01月14日


          注:摘自《敏捷軟件開發:原則、模式與實踐》(Robert C. Martin)
          遵循開放封閉原則設計出的模塊具有兩個主要的特征。

          1、“對于擴展是開放的”(Open for extension)
          這意味著模塊的行為是可以擴展的。當應用的需求改變時,我們可以對模塊進行擴展,使其具有滿足那些改變的新行為。換句話說,我們可以改變模塊的功能。

          2、“對于更改是封閉的”(Closed for modification)
          對模塊行為進行擴展時,不必改動模塊的源代碼或者二進制代碼。

          OCP原則關鍵是抽象。
          但對于應用程序中中的每個部分都肆意進行抽象不是一個好主意。正確的做法是,開發人員應該僅僅對程序中呈現出頻繁變化的那些部分作出抽象。拒絕不成熟的抽象和抽象本身一樣重要。

          OCP背后的主要機制是抽象(abstraction)和多態(polymorphism)。在靜態類語言中,比如C++和Java,支持抽象和多態的關鍵機制之一是繼承(inheritance)。正是使用了繼承,我們才可以創建實現其基類(base class)中抽象方法的派生類。

          posted on 2008-01-14 15:35 飛雪連天 閱讀(147) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 拉孜县| 余干县| 石楼县| 仙桃市| 定兴县| 长泰县| 河间市| 伊川县| 林州市| 鹤山市| 加查县| 岚皋县| 呈贡县| 淮滨县| 南通市| 天台县| 清远市| 来宾市| 东阿县| 昌图县| 贺兰县| 册亨县| 开平市| 吉林省| 商河县| 手游| 改则县| 尚志市| 通海县| 蚌埠市| 嘉峪关市| 嘉鱼县| 桃园市| 岳西县| 石阡县| 武清区| 石家庄市| 娄烦县| 呼伦贝尔市| 灵宝市| 德阳市|