因为目前产品用到了策略模式,比如国内的用户注册走A流程,美国用户走B流程,印度用户走C流程,每个流程有些相同,有些则完全不一样。
这两种设计模式非常容易弄混淆。
策略模式和工厂模式:
1. 关注点不一样,工厂模式关注对象创建,策略模式关注行为封装
2.解决的问题不一样,工厂模式是创建型的设计模式,它接收指令,创建出符合要求的实例,主要解决的是资源的统一分发,将对象的创建完全独立出来,
让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。
策略模式是行为型的设计模式,定义策略族,分别封装起来,让他们之间可以互相替换,策略模式让策略的变化独立于使用策略的客户。