參考:
工廠模式分為三種
一:簡單工廠模式(****** factory pattern)
包括三個角色:
factory :工廠角色
product:抽象產品角色
concreteproduct:具體產品角色
具體產品角色實現抽象產品橘色,工廠類則負責produce
示例**:
main
public class test
}
inte***ce base
class a implements base
}
class b implements base
}
factory
public class factory
else if("b".equals(type))
else
}}
要點:某個類只能有乙個例項,提供乙個全域性的訪問點 (或者是靜態方法也行)
二 工廠方法模式(factory method pattern)
簡單工廠模式如果要新增一種產品種類的話,需要修改工廠,這違悖了開閉原則,
而工廠方法模式則抽象出來工廠類,將工廠類的具體實現交給子類來實現,這樣如果新增產品的話,只要
增加乙個工廠即可
角色:product:抽象產品
concreteproduct:具體產品
factory:抽象工廠
concretefactory:具體工廠
**產品:
class a implements base
} class b implements base
}inte***ce base
工廠:
public class factorya implements factory
else
}} public class factoryb implements factory
else
}}public inte***ce factory
main
public class test
}
設計模式之工廠模式(簡單工廠 工廠模式 抽象工廠)
參考博文 侵權必刪 什麼是工廠模式 通過 物件建立 模式繞開new,來避免物件建立 new 過程中所導致的緊耦合 依賴具體類 適用性 使用new建立物件且導致緊耦合的場景。思考 物件導向程式設計要以動態的思維去看待 換句話說,在看 時需要時間概念,發現 在未來的穩定之處和變化之處。一般介面和抽象類是...
設計模式(二) 工廠模式(簡單工廠)
我們在學習乙個東西之前,應該要先了解下他為什麼出現,他解決了什麼問題。這樣才可以帶著思考的高效學習。以資料庫為例,我們知道常見的關係型資料庫有mysql sqlserver oracle等,每種資料庫連線例項的建立都是複雜且易錯麻煩的。如果將這些連線例項交給使用者來建立,是十分不合適的。我們就希望有...
簡單工廠設計模式與工廠設計模式
工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...