工廠模式定義,建立乙個物件介面,但由子類決定要例項化的類是哪乙個.工廠方法讓類把例項化推遲到子類.
抽象的比薩商品類
public abstract class piazzstore
//讓子類去實現
public abstract piazz createpiazz(string name);
}
中國比薩商店
public class chinapiazzstore extends piazzstore else if(name.equals(piazzenum.chinapiazzonhubei.getval()))else
}}
台灣比薩商店
public class taiwanpiazzstore extends piazzstore else if (name.equals(piazzenum.taiwanpiazzontaizhong.getval())) else
}}
比薩種類
public enum piazzenum
public string getval()
}
所有比薩父類
public abstract class piazz
public void step2()
public void step3()
@override
public string tostring()
public string getname()
public void setname(string name)
public double getprice()
public void setprice(double price)
}
湖南比薩
public class huanpiazz extends piazz
@override
//不同地方製作步驟不一樣
public void make()
}
湖北比薩
public class hubeipiazz extends piazz
@override
//不同的製作方法
public void step1()
@override
//不同地方製作步驟不一樣
public void make()
}
臺中比薩
public class taizhongpiazz extends piazz
@override
public void make()
}
台南比薩
public class tainanpiazz extends piazz
@override
public void step3()
@override
public void make()
}
測試類
public class test
}
hand first 設計模式 命令模式
命令模式 將請求封閉成物件,這可以讓你使用不同的請求,佇列.或者日誌請求來引數化其他物件.命令模式式可支援撤銷技術操作.例項需求 命令介面 public inte ce command 開關介面 public inte ce switch 例項燈public class light implemen...
hand first 設計模式 單例模式
單例模式 確保乙個類只有乙個例項,並提供乙個全域性訪問點.public class test public static test getinstance return test 上面單例模式 採用延遲載入,在需要的時候再生成例項.但是多執行緒的情況可能會產生去多個例項.多執行緒同時訪問下面 會產生...
hand first 設計模式 模板方法模式
模板方法模式 在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中.模板方法使得子類可以在不改變演算法結構的情況下,重新演算法.重新定義演算法中的某些步驟.咖啡因飲料超類 咖啡因飲料超類 author panxiuyan public abstract class caffeinbeverag...