美文网首页
10. abstract Factory 模式

10. abstract Factory 模式

作者: 何大炮 | 来源:发表于2019-02-01 15:30 被阅读0次

    场景

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

    总结

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

    相关文章

      网友评论

          本文标题:10. abstract Factory 模式

          本文链接:https://www.haomeiwen.com/subject/qeldsqtx.html