設計模式隨筆一

2021-06-28 01:10:48 字數 1863 閱讀 9883

六個原則

(solid)

single responsibility principle:單一職責原則--介面職責單一,類的設計盡量只有乙個原因引起變化。

open closed principle:開閉原則--乙個軟體實體如類(抽象)、模組、方法應該對擴充套件開放,對修改關閉。

liskov substitution principle:黎克特制替換原則--父類能出現的地方,子類就可以替換父類。

law of demeter:迪公尺特法則--乙個物件應該對其他物件有最少的了解(合理的公開public方法,盡量最少)。

inte***ce segregation principle:介面隔離原則--建立單一介面,不要建立臃腫龐大的介面(為模組提供單一介面)。

dependence inversion principle:依賴倒置原則--面向介面(抽象類)程式設計。

設計模式

1.單例模式

確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。

public final  class singleton 

public static singleton getinstance()

public static void othermethod()

}

//多執行緒版本public static singleton getinstance()      

return instance;

}

//按需載入
public class singleton      

private static class singletoncontainer     

public static singleton getinstance()     

}

note:在併發程式設計中,需要考慮同步處理。 

2.工廠方法模式

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。

在工廠方法模式中,抽象產品類product負責定義產品的共性,實現對事物最抽象的定義。產品就是物件,就是要建立的物件。

乙個通用的例子

// 抽象產品:物件

public abstract class product

// 抽象方法

public abstract void absmethod();

} // 具體產品

public class concreteproduct extends product

@override

public void absmethod()

} // 抽象工廠

public abstract class factory

// 具體工廠

public class concretefactory extends factory catch (exception e)

return null;

} }public static void main(string args)

在單一場景中,修改為簡單工廠模式

// 簡單工廠

public class ******factory catch (exception e)

return null;

} }

延遲初始化中應用工廠模式

public final class mapfactory  else 

return p;

}}



設計模式隨筆

設計模式是為了讓程式,具有更好的 重用性 可讀性可擴充套件性 可靠性使程式呈現高內聚低耦合 單一職責原則 介面隔離原則 依賴倒轉原則 黎克特制替換原則 開閉原則 迪公尺特法則 合成復用原則 1.餓漢式 靜態常量 步驟 構造器私有化 防止new 類的內部建立物件 向外暴露乙個靜態的公共方法 實現 pu...

設計模式隨筆 命令模式

封裝呼叫方法,命令模式能夠把方法呼叫封裝到乙個起來。這樣,命令方法就不用在乎方法內部是做什麼的了,只需要關心封裝的過程,是開還是關閉某些東西。它能做記錄日誌,或者撤銷等。現在我們有乙個需求,就是幫家電廠商設計乙個遙控器,這個遙控器有4個鏈結裝置的開關,和乙個撤銷按鈕。如下圖所示 現在我們看看廠商的家...

隨筆 設計模式 工廠模式

工廠模式和抽象工廠模式是在日常開發中使用非常廣泛的設計模式。主要用於實現將物件的例項化部分取出來,進而優化系統架構,增強系統的擴充套件性。用工廠方法來代替 new 操作 工廠模式包括工廠方法模式和工廠抽象模式 抽象工廠模式是工廠方法模式的擴充套件 1 定義乙個介面來建立物件,讓子類來決定哪些類需要被...