設計模式學習筆記之 二 設計模式之工廠模式

2021-10-03 08:59:05 字數 1769 閱讀 9952

首先建立抽象物品類,以tom老師講的milk為例

//milk 抽象介面

public inte***ce milk

各類milk具體類實現該介面

//蒙牛類

public class mengniu implements milk

}//特崙蘇

public class telunsu implements milk

}//伊利

public class yili implements milk

}//三鹿

public class sanlu implements milk

}

建立工廠

public class ******factory else if("伊利".equals(name))else if("蒙牛".equals(name))else if("三鹿".equals(name)) else }}

測試

需要注意的是簡單工廠模式方法並沒有存在於23中設計模式之中建立工廠介面

public inte***ce factory
實現工廠介面

/** mengniu***/

public class mengniufactory implements factory

}/** 伊利***/

public class yilifactory implements factory

}/**特崙蘇***/

public class telunsufactory implements factory

}/** 三鹿***/

public class sanlufactory implements factory

}

測試**

public class factorytest 

}

工廠模式方法提公升了專業化水平和精細化程度,無需使用者自己直接與產品交涉,在一定程度上降低了**的耦合性,但是這種方式任然有不足之處,如可擴充套件性不強,如此抽象工程模式便誕生了。

抽象工廠模式是對工廠模式方法的的可擴充套件性增強,從而使得**更能符合開閉環原則。

//建立抽象工廠

public abstract class abstractfactory

建立工廠

public class milkfactory extends  abstractfactory 

@override

public milk getyili()

@override

public milk gettelunsu()

@override

public milk getsanlu()

}

整體**測試

public class abstractfactorytest 

}

設計模式學習筆記之二 單例模式

單例模式,顧名思義就是讓乙個類在執行過程中只有乙個例項。public class singleton 靜態工廠方法,返回此類的唯一例項 public static singleton getinstance return singleton 加鎖是為了防止多執行緒同時呼叫時,new出多個例項 在加鎖...

設計模式 學習設計模式之二(原則1)

1.單一職責原則 定義 單一職責原則,就乙個類而言,應該僅有乙個引起它變化的原因!單一職責就是乙個類負責一種職責,比如,在物件導向的計算器中,每乙個計算的方式就有乙個對應的計算類。這個計算方式的業務都在這個類中,而其他的計算跟這個類無關。我的例子也許不是非常的恰當,再例如,三層架構,就是對各種邏輯的...

設計模式筆記之二 模板方法模式

模板方法模式的定義 在乙個方法中定義乙個演算法的骨架,將一些步驟延遲到子類中。模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟 uml圖 暫略 例子 public abstract class beveragebase 燒開水演算法是一樣的 public void boil...