您的位置:首页 > 其它

BD___工厂模式

2016-07-27 21:41 369 查看
呵呵,。。

定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到子类。。。

抽象工厂模式和工厂方法模式完全两个概念,我好像搞混了

工厂模式又分简单工厂模式,抽象工厂模式

使用简单工厂模式的优势是:让对象的调用者和对象创建过程分离,当对象调用者需要对象时,直接向工厂请求即可。从而避免了对象的调用者与对象的实现类以硬编码方式耦合,以提高系统的可维护性、可扩展性。工厂模式也有一个小小的缺陷:当产品修改时,工厂类也要做相应的修改。

实际用例:,应该对Spring IoC容器感到迷惑:它到底是简单工厂?还是抽象工厂?实际上,笔者倾向于认为Spring IoC容器是抽象工厂,因为Sping IoC容器可以包括万象,它不仅可以管理普通Bean实例,也可管理工厂实例。

以下来自, http://jameszhao1987.iteye.com/blog/1420442

使用情景: 
        再不确定会有多少个处理操作时应该考虑使用简单工厂模式,如针对同样的接收到的数据,处理的逻辑可能会不同,可能以后还会增加新的操作。 
案例: 
例如如果实现计算器的功能时,对于同样的输入数据,可能执行加、减、乘、除,甚至其他的功能。因此可以抽象出一个操作的抽象类或是接口,提供一个统一的处理方法(此处为process),然后每种操作创建出一个子类出来。而判断具体使用哪个具体的实现类是在工厂类中进行判断的(将存放操作的变量传递给工厂的生产方法)。工厂类始终返回的是这个抽象类,这样如果对原有功能进行更改或是新添加新的功能,也不会对原来的其他类做修改,只编译修改的那个类或是新的类就可以了。 
这样就做到了把耦合降到最低,同时也便于维护。 
注意:如果客户提出要再添加一个功能来处理这些数据,实现起来就灰常方便了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: