
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 策略模式是为了解决的是策略的切换与扩展 如果工厂是黑盒的话,策略模式就是白盒, 买车的时候,你来选配置,然后把车开回家 |