編寫軟體過程中,程式設計師面臨著來自 耦合性,內聚性以及可維護性,可擴充套件性,重用性,靈活性 等多方面的挑戰,設計模式是為了讓程式
(
軟體
)
,具有更好
1) **重用性
(即:相同功能的**,不用多次編寫)
2) 可讀性
(即:程式設計規範性
, 便於其他程式設計師的閱讀和理解)
3) 可擴充套件性
(即:當需要增加新的功能時,非常的方便,稱為可維護)
4) 可靠性
(即:當我們增加新的功能後,對原來的功能沒有影響)
5) 使程式呈現
高內聚
,低耦合
的特性設計模式原則,其實就是程式設計師在程式設計時,應當遵守的原則,也是各種設計模式的基礎(
即:設計模式為什麼這樣設計的依據
),常見的七種原則如下:
1) 單一職責原則
2) 介面隔離原則
3) 依賴倒轉原則
4) 黎克特制替換原則
5) 開閉原則
ocp
6) 迪公尺特法則
7)
合成復用原則
單一職責原則注意事項和細節
1) 降低類的複雜度,乙個類只負責一項職責。
2) 提高類的可讀性,可維護性
3) 降低變更引起的風險
4) 通常情況下,
我們應當遵守單一職責原則
,只有邏輯足夠簡單,才可以在**級違反單一職責原則;只有類中方法數量足夠少,可以在方法級別保持單一職責原則。
基本介紹
對類來說的,即乙個類應該只負責一項職責。如類
a負責兩個不同職責:職責
1,職責
2。當職責1
需求變更而改變
a時,可能造成職責
2執行錯誤,所以需要將類
a的粒度分解為a1,
a2
案例分析:
public class singleresponsibility1
// 交通工具類
// 方式1
// 1. 在方式1 的run方法中,違反了單一職責原則
// 2. 解決的方案非常的簡單,根據交通工具執行方法不同,分解成不同類即可
class vehicle
}public class singleresponsibility2
//方案2的分析
//1. 遵守單一職責原則
//2. 但是這樣做的改動很大,即將類分解,同時修改客戶端
//3. 改進:直接修改vehicle 類,改動的**會比較少=>方案3
class roadvehicle
}class airvehicle
}class watervehicle
}public class singleresponsibility3
//方式3的分析
//1. 這種修改方法沒有對原來的類做大的修改,只是增加方法
//2. 這裡雖然沒有在類這個級別上遵守單一職責原則,但是在方法級別上,仍然是遵守單一職責
class vehicle2
public void runair(string vehicle)
public void runwater(string vehicle)
}
設計模式概述
什麼是設計模式?通常會有以下幾個定義 設計模式描述了軟體設計過程中某一類常見問題的一般性解決方案。物件導向設計模式描述了物件導向設計過程中,特定場景下,類與相互通訊的物件之間常見的組織關係。每乙個模式描述了乙個在我們周圍不斷重 生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次的使用該方案...
設計模式 概述
第一章 簡單工廠模式 1.物件導向的好處 通過封裝 繼承 多型把程式的耦合度降低。用設計模式使得程式更加的靈活,容易修改,並且易於復用。簡單工廠模式 到底要例項化誰,將來會不會增加例項化的物件,比如增加開根運算,這是很容易變化的地方,應該考慮用乙個單獨的類來做這個創造例項的過程,這就是工廠。類圖 類...
設計模式概述
面試的時候,考察設計模式,就像是 天王蓋地虎,寶塔鎮河妖 一樣的黑話。在道上混,雖然不知道會碰到什麼鬼神,知道內涵意義的同時,也需要知道這些形式上的東西到底是怎麼一一表述的。不然,咋死的都不知道 設計模式的實現 設計模式的目的 對一些常用的設計模式套用上面的描述結構 實現 目的 實現 目的 實現 目...