1
WuMingyu 2017-05-26 09:38:33 +08:00 via iPhone
工厂模式是生成对象的吧,策略模式是针对某个功能有不同的实现策略吧
|
2
zhanglp888 2017-05-26 09:58:59 +08:00
工厂模式就是在创建对象时不会对暴露创建逻辑,就好像,你买个汽车,直接交钱买就行了,不用去管,这个车在工厂里是如何组装起来的
|
3
zhanglp888 2017-05-26 09:59:28 +08:00
工厂模式就是在创建对象时,不会暴露创建逻辑。
就好像,你去买汽车,直接交钱买就行了,不用去管,这个车在工厂里是如何组装起来的 |
4
korewayume 2017-05-26 10:06:31 +08:00
一个是创建型模式,一个是行为型模式
|
5
korewayume 2017-05-26 10:15:08 +08:00
工厂模式:
Factory: if type=="a": return new A if type=="b": return new B obj = new Factory(type) 结果是 obj is A 或者 obj is B 策略模式: Strategy: if type=="a": this.attribute = new A return this if type=="b": this.attribute = new B return this obj = new Strategy(type) 结果是 obj has A() 或者 obj has B() |
6
zhanglp888 2017-05-26 13:19:39 +08:00
策略模式是为了解决的是策略的切换与扩展
如果工厂是黑盒的话,策略模式就是白盒, 买车的时候,你来选配置,然后把车开回家 |