10. abstract Factory 模式

场景

王爷爷又接收到了新的需求,新的需求要求在选择系统配置的同时,还要选择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()
      
     

总结

定义:为了创建一组相关或者相互依赖的对象提供一个接口,而且无需指定它们的具体的类。
意图:为特定的客户提供对象组。
问题:需要实例化一组相关的对象。
效果:这个模式将‘使用哪些对象’的规则和‘如何使用对象’的逻辑分离开来。
实现:在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容