場景
王爺爺又接收到了新的需求四瘫,新的需求要求在選擇系統(tǒng)配置的同時,還要選擇IO配置欲逃,網(wǎng)絡(luò)配置找蜜。
system_factory = FactoryProducer.getFactory("system_setting")
IO_factory = FactoryProducer.getFactory("IO")
//獲取形狀為 Circle 的對象
if Cpu.status == 100%:
system_setting = system_factory.get_system_setting("setting_1")
system_setting.start()
IO_setting = IO_factory.get_IO_setting("setting_1")
IO_setting.start()
if Cpu.status == 80%:
system_setting = system_factory.get_system_setting("setting_2")
system_setting.start()
IO_setting = IO_factory.get_IO_setting("setting_2")
IO_setting.start()
if Cpu.status == 50%:
system_setting = system_factory.get_system_setting("setting_2")
system_setting.start()
IO_setting = IO_factory.get_IO_setting("setting_2")
IO_setting.start()
總結(jié)
定義:為了創(chuàng)建一組相關(guān)或者相互依賴的對象提供一個接口,而且無需指定它們的具體的類稳析。
意圖:為特定的客戶提供對象組洗做。
問題:需要實例化一組相關(guān)的對象。
效果:這個模式將‘使用哪些對象’的規(guī)則和‘如何使用對象’的邏輯分離開來彰居。
實現(xiàn):在抽象工廠模式中诚纸,接口是負(fù)責(zé)創(chuàng)建一個相關(guān)對象的工廠,不需要顯式指定它們的類陈惰。每個生成的工廠都能按照工廠模式提供對象畦徘。