9. Factory 模式

2019-02-01  本文已影响0人  何大炮

场景

一个机器有三种系统配置的类型,王大爷想设计一个计算机系统,用一个程序根据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()

总结

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读