[3] [对象创建] ( 1 ) 工厂方法模式 Factory Method

总结

  • 为什么需要工厂方法模式?
    直接使用new会导致紧耦合,
    所以需要一种创建对象的办法,
    让代码保持开闭原则.
    (用来替代直接NEW的)


  • 如何做到的"替代直接NEW"?
    工厂方法模式可以将创建行为延迟倒到子类,
    从而实现一种扩展(而非更改)的策略,
    较好地解决了这种紧耦合关系。


  • 缺点?
    工厂模式解决 "单个对象" 的需求变化.
    缺点在于,要求创建方法/参数相同,
    还有每次创建一个类,
    就要创建一个对应的工厂.


C++例子

重构前

image


重构后

image




角色结构

image




posted @ 2023-10-24 00:36  qwertzxc  阅读(9)  评论(0)    收藏  举报