那曲檬骨新材料有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

設計模式的原則及實現代碼的復用

大?。?/span>0.3 MB 人氣: 2017-09-26 需要積分:1

  設計模式之六大原則

  開閉原則(Open Close Principle)

  1988年,勃蘭特·梅耶(Bertrand Meyer)在他的著作《面向對象軟件構造(Object Oriented Software Construction)》中提出了開閉原則,它的原文是這樣:“Software entities should be open for extension,but closed for modification”。

  意思:軟件模塊應該對擴展開放,對修改關閉。

  舉例:在程序需要進行新增功能的時候,不能去修改原有的代碼,而是新增代碼,實現一個熱插拔的效果(熱插拔:靈活的去除或添加功能,不影響到原有的功能)。

  目的:為了使程序的擴展性好,易于維護和升級。

  里氏代換原則(Liskov Substitution Principle)

  意思:里氏代換原則是繼承復用的基石,只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被復用,而衍生類也能夠在基類的基礎上增加新的行為。

  舉例:球類,原本是一種體育用品,它的衍生類有籃球、足球、排球、羽毛球等等,如果衍生類替換了基類的原本方法,如把體育用品改成了食用品(那么軟件單位的功能受到影響),就不符合里氏代換原則。

  目的:對實現抽象化的具體步驟的規范。

  依賴倒轉原則(Dependence Inversion Principle)

  意思:針對接口編程,而不是針對實現編程。

  舉例:以計算機系統為例,無論主板、CPU、內存、硬件都是在針對接口設計的,如果針對實現來設計,內存就要對應到針對某個品牌的主板,那么會出現換內存需要把主板也換掉的尷尬。

  目的:降低模塊間的耦合。

  接口隔離原則(Interface Segregation Principle)

  使用多個隔離的接口,比使用單個接口要好。

  舉例:比如:登錄,注冊時屬于用戶模塊的兩個接口,比寫成一個接口好。

  目的:提高程序設計靈活性。

  迪米特法則(最少知道原則)(Demeter Principle)

  1987年秋天由美國Northeastern University的Ian Holland提出,被UML的創始者之一[Booch]等普及。后來,因為在經典著作《 The Pragmatic Programmer》而廣為人知。

  意思:一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。

  舉例:一個類公開的public屬性或方法越多,修改時涉及的面也就越大,變更引起的風險擴散也就越大。

  目的:降低類之間的耦合,減少對其他類的依賴。

  單一職責原則( Single responsibility principle )

  該原則由羅伯特·C·馬?。≧obert C. Martin)于《敏捷軟件開發:原則、模式和實踐》一書中給出的。馬丁表示此原則是基于湯姆·狄馬克(Tom DeMarco)和Meilir Page-Jones的著作中的內聚性原則發展出的。

  意思:一個類只負責一個功能領域中的相應職責,或者可以定義為:就一個類而言,應該只有一個引起它變化的原因。

  舉例:該原則意思簡單到不需要舉例!

  目的:類的復雜性降低,可讀性提高,可維護性提高。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      足球百家乐网上投注| 凯旋门百家乐游戏| 百家乐官网哪家信誉好| 大发888娱乐城加盟| 属虎与属鼠做生意好吗| 百家乐官网最好的投注方法| 铂金娱乐| 威尼斯人娱乐城线上博彩| 缅甸百家乐玩家吗| 百家乐官网庄牌| 真人百家乐官网代理分成| 府谷县| 百家乐五种路单规| 百家乐外挂程式| 百家乐官网赢输| 宝格丽百家乐官网娱乐城| 太阳城现金网| 大发888娱乐场18| 百家乐园首选| 百家乐赌场程序| 沙巴百家乐现金网| 百家乐官网网上真钱娱乐场开户注册| 邯郸百家乐官网园真钱区| 澳门凯旋门娱乐城| 大发888大发888体育| 华泰百家乐的玩法技巧和规则| 百家乐百乐发破解版| 天博百家乐官网的玩法技巧和规则| 百家乐官网技术交流群| 湖南省| 大发体育| 大发888最新网址| 百家乐筹码皇冠| 王牌百家乐的玩法技巧和规则 | 百家乐官网跟路技巧| 百家乐官网破解的方法| 琼结县| 赌博网| 海王星线上娱乐| 棋牌游戏平台排名| 百家乐平台信誉|