日期:2014-05-18  浏览次数:20618 次

pet shop 2.0 关于工厂模式的问题
最近在看pet shop 2.0,里面有个工厂工程,用来创建对象的
但我就不明白,需要用时真接创建不就可以了吗,为什么还要专门建个工程来创建对象呢
我觉得这好像是多除
但它这样做肯定有它的道理
知道的人可以帮我讲解下吗
谢谢

------解决方案--------------------
对比法
在没有使用工厂之前,是这么用的:
Apple apple=new Apple();
apple.Eat();
如果我不想吃苹果,想吃橘子,怎么办呢?没用工厂之前要改代码:
Orange o=new Orange();
o.Eat();
改完以后,还要重新编译,然后再发布

使用了工厂以后:
Fruit fruit=FrutiFactory.Create(appSetting["fruitName"]);
fruit.Eat();
这样的话,无论是吃苹果、橘子,还是其他水果,都不需要改动代码,要改的地方就是配置文件了
------解决方案--------------------
这个就是反射工厂模式的应用!
可以轻松应对数据库的切换~