工廠模式(factory)構建模式
寫東西的能力有限,希望可以諒解。
工廠模式
定義:提供創建對象的接口
為何使用:如果在一個項目中你需要new很多的實體,恰好這個實體new的過程很是復雜,而且有一天你的PM說在這個new的工程中加一個級別的過濾吧。
你會突然發現你的工作量怎么那么大呢!如果當時用到了工廠你就會發現原來加這個需求是這么的簡單。而且在new的過程出現錯誤的幾率將
大大的降低了。你的代碼也將會非常整潔。
實例:(直接上代碼,發現弄圖片是如此的麻煩!)
//這只是一個小例子,會根據給出的顏色來給出具體的實例
工廠模式
定義:提供創建對象的接口
為何使用:如果在一個項目中你需要new很多的實體,恰好這個實體new的過程很是復雜,而且有一天你的PM說在這個new的工程中加一個級別的過濾吧。
你會突然發現你的工作量怎么那么大呢!如果當時用到了工廠你就會發現原來加這個需求是這么的簡單。而且在new的過程出現錯誤的幾率將
大大的降低了。你的代碼也將會非常整潔。
實例:(直接上代碼,發現弄圖片是如此的麻煩!)
//這只是一個小例子,會根據給出的顏色來給出具體的實例
public class WorkFactory {
public static Work getWork(String color){
return color.equals("black")?new BlackWork():new WhiteWork();
}
}
抽象工廠
定義:如果工廠是生產實例的,那抽象工廠就是一個整個工廠的架構沒有具體的實現
為何使用:比如人家想用你的工廠,但是你又不想讓人家看到你工廠里面具體的工作,并且你還要告訴他你工廠可能干什么。這時候你就可以給他看你的抽象的工廠
而不是真正再生產的工廠了。而且利于擴展,比如又讓你建一個工廠和上一個在實現上有區別但是還是那幾個方法。這樣你利用抽象工廠很快就可以搭建
這另一個工廠了。
實例:
public abstract class AbstractFactory {
public abstract Work getWork() throws Exception;
public abstract Study getStudy() throws Exception;
}
posted on 2012-03-01 11:45 海峰 閱讀(134) 評論(0) 編輯 收藏 所屬分類: 設計模式