設計模式就是針對某類特定問題的**設計經驗。
復用成功的設計模式,可以減低開發成本和週期、提高復用、**適用拓展和可維護性。
實現乙個類只有乙個例項,並提供全域性訪問。
複製**
public class singleton ;
private volatile static singleton singleton = null;
public static singleton getinstance()
} }return singleton;}}
複製**
public class singletoninnner;
static class singletonholder
public static singletoninnner getinstance()
public static void main(string args)
}複製**
列舉型別寫法
public enum singletonenum
public static void main(string args)
}複製**
簡單工廠又是靜態方法模式,負責生產物件的乙個類,稱為工廠類。
類例項化和類使用分開,使用者不必知道具體怎樣產出所需產品類。
//抽象產品
public abstract class product
複製**
//產品a
public class producta extends product
}複製**
//產品b
public class productb extends product
}複製**
//工廠類
public class factory
if ("b".equals(productname))
return null;}}
複製**
//使用
public class main
}複製**
通過定義工廠父類負責定義建立物件的介面,而子類負責生成具體的物件。
將類的例項化延遲到工廠類的子類中完成,由子類覺得應該例項化哪個類。
//抽象產品
public abstract class product
複製**
//產品a
public class producta extends product
}複製**
//產品b
public class productb extends product
}複製**
//抽象工廠類
public abstract class abstarctfactory
複製**
//工廠a
public class factorya extends abstarctfactory
}複製**
//工廠b
public class factoryb extends abstarctfactory
}複製**
//使用
abstarctfactory factorya = new factorya();
product producta1 = factorya.getproduct();
producta1.show();
abstarctfactory factoryb = new factoryb();
product productb1 = factoryb.getproduct();
productb1.show();
複製**
抽象工廠相對於工廠方法模式來說,抽象工廠中每個工廠可以建立多種類的產品;而工廠方法每個工廠只能建立一類。這裡略過...
將乙個複雜物件的構建與他的表示分離,使得用同樣的構建過程可以建立不同的表示
在使用者不知道物件的建造過程和細節的情況下就可以直接建立出複雜的物件。
使用者只需給出物件的型別和記憶體,建造者模式負責按順序建立複雜物件。
//product
//**類
public class meal
public void setfood(string food)
public string getdrink()
public void setdrink(string drink)
}複製**
//builder
//**構造器
public abstract class mealbuilder
}複製**
//具體產品a
//**a
public class meala extends mealbuilder
@override
public void builddrink()
}複製**
//direct
//肯德基服務員,相當於乙個指揮者
public class kfcwaiter
public meal construct()
}複製**
//使用
public class main
}
複製**
用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。
工作原理是:通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型物件拷貝它們自己來實施建立。
設計模式學習 建立型模式
近來看設計模式的一些內容,發現一些和自己認知有所不同 建立型模式的話,是最常用的模式,像singleton,factory,具體還有那種,就在看設計模式的過程中了解區分清楚的 建立型模式 1.factory method 2.abstract factory method 3.builder 4.p...
設計模式學習總結 建立型模式
五大建立型設計模式的注意事項 1.單例 singleton 建構函式private或protected,防止外部例項化 雙層鎖定例項化,防止多執行緒的多個例項化 類要sealed,防止被繼承後派生新增例項 餓漢 懶漢兩種型別,各有千秋 2.原型 prototype clone 淺拷貝,複製值型別,不...
設計模式學習總結 建立型模式
五大建立型設計模式的注意事項 1.單例 singleton 建構函式private或protected,防止外部例項化 雙層鎖定例項化,防止多執行緒的多個例項化 類要sealed,防止被繼承後派生新增例項 餓漢 懶漢兩種型別,各有千秋 2.原型 prototype clone 淺拷貝,複製值型別,不...