9. Factory 模式

场景

一个机器有三种系统配置的类型,王大爷想设计一个计算机系统,用一个程序根据CPU和内存的情况来决定使用哪种系统配置。


结构图
      setting_factory = setting_factory();
 
      if Cpu.status == 100%:
          setting_1 = setting_factory.get_setting("setting_1")
          setting_1.start()
      if Cpu.status == 80%:
          setting_2 = setting_factory.get_setting("setting_2")
          setting_2.start()
      if Cpu.status == 50%:
          setting_3 = setting_factory.get_setting("setting_3");
          setting_3.start()

总结

意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。

主要解决:主要解决接口选择的问题。

何时使用:我们明确地计划不同条件下创建不同实例时。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

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

推荐阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,995评论 1 15
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,163评论 1 32
  • 链接:https://github.com/WiKi123/DesignPattern作者: WiKi123(gi...
    树懒啊树懒阅读 3,693评论 0 2
  • 学习的星辰阅读 310评论 0 1
  • 其实,我不了解你 因为,我刚出生 你就已经活了三十年 但是,你一定了解我 因为,从我出生 你就看着我长大
    旮旯犄角阅读 141评论 0 1