1、工廠模式
通過工廠類,生成一系列同類產(chǎn)品
public? Shape? getShape(String shapeType) ? ?ShapeFactory根據(jù)傳入的參數(shù)窒篱,返回不同的Shape對象
2、單例模式
1、單例類只能有一個實例---因此構(gòu)造方法應該為private带斑。
2、單例類必須自己創(chuàng)建自己的唯一實例---一般在當前類里面自己創(chuàng)建勋拟。
3勋磕、單例類必須給所有其他對象提供這一實例---因為不能通過構(gòu)造方法創(chuàng)建對象,所以只能通過類的靜態(tài)方法獲取敢靡。
最常用的單例創(chuàng)建方法有
1:餓漢式: 靜態(tài)變量聲明 static SingleObject so = new SingleObject();
2:雙檢查(double-check) ?if(so==null){syc(SingleObject.class){if(so==null){so=new SingleObject()}} } ?return so;
3:靜態(tài)內(nèi)部類 或者 枚舉
3挂滓、代理模式
如:spring aop,指定的bean(s)的一個或者多個方法啸胧,在執(zhí)行的時候赶站,都需要通過代理類做before,after或者around的環(huán)繞操作纺念。
ProxyImage類存放了realImage對象贝椿,display方法里面對realImage 僅做一次初始化操作。避免多次讀取disk陷谱。