场景
王爷爷又接收到了新的需求,新的需求要求在选择系统配置的同时,还要选择IO配置,网络配置。
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()
总结
定义:为了创建一组相关或者相互依赖的对象提供一个接口,而且无需指定它们的具体的类。
意图:为特定的客户提供对象组。
问题:需要实例化一组相关的对象。
效果:这个模式将‘使用哪些对象’的规则和‘如何使用对象’的逻辑分离开来。
实现:在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。
网友评论