[摘抄]软件设计模式的几个原则
原文地址:軟件設計模式的幾個原則
模式是一種對現實世界的概念抽象,建筑模式,設計模式,營銷模式,商業運作模式各行各業都有自己的模式。
這里說的設計模式是軟件設計里的模式,主要是指面向對象的軟件設計。遵照設計模式,可以有效的提高軟件的可維護性和可復用性,提高開發軟件的效率,避免過多的出現再造輪子的現象。
我學習模式是從知道大名頂頂的四人幫的力作《設計模式》,真正感覺到了設計模式給軟件設計所帶來的諸多好處。《設計模式》內容精練,實例較少,我的理解力太差,實際學習中,我是結合jeffyyan的java于模式學的。
設計軟件的幾個原則,這個也是設計模式的精髓所在:
1.開-閉原則
1).客戶的需求是不穩定的,通過擴展已有的軟件系統而不是通過修改軟件系統來滿足客戶的需求,這樣的軟件系統就滿足開-閉原則,即軟件系統要有一定的靈活性和適應性。
2) . 已有的模塊,特別是抽象層的模塊不能修改,保證軟件系統的穩定性和延續性。
解決問題的關鍵是抽象化,把它與具體實現分離開來。接口(interface),抽象類的應用
對可變性封裝:將可變性封裝到一個對象里。
2.抽象類
抽象類不會有實例,一般作為父類為子類繼承,一般包含這個系的共同屬性和方法。
注意:好的繼承關系中,只有葉節點是具體類,其他節點應該都是抽象類,也就是說具體類
是不被繼承的。將盡可能多的共同代碼放到抽象類中。
3.里氏代換原則
在有基類出現的地方,子類均可以替代。
當兩個具體類關系違反里氏代換原則時,一種辦法是抽象出一個基類,作為這兩個類的父類,
一種是應用組合聚合關系建立關系。
不要為了使用某些類的方法(功能)而濫用繼承。
4 依賴倒轉原則
抽象不應該依賴與細節,細節應當依賴與抽象。
要針對接口編程,而不是針對實現編程。
傳遞參數,或者在組合聚合關系中,盡量引用層次高的類。
主要是在構造對象時可以動態的創建各種具體對象,當然如果一些具體類比較穩定,就不必在弄一個抽象類做它的父類,這樣有畫舌添足的感覺
5 接口隔離原則
定制服務的例子,每一個接口應該是一種角色,不多不少,不干不該干的事,該干的事都要干
6 合成/聚合原則
盡量使用合成聚合原則,少用慎用繼承。
合成:一榮俱榮,一損俱損,整體和部分的生命周期是一樣的
聚合:部分可以是整體的一部分,也可以脫離整體而存在。
區分Has a和Is a的問題
7 迪米特法則
最少知識原則。不要和陌生人說話。
轉載于:https://www.cnblogs.com/virusswb/articles/1670612.html
總結
以上是生活随笔為你收集整理的[摘抄]软件设计模式的几个原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenSocial容器 shindig
- 下一篇: 利用SQL Server 2005特性删