1. 简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但...
分类:
编程语言 时间:
2015-05-17 23:09:15
阅读次数:
118
工厂方法模式(Factory Method) 工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。在以下的三种模式中,第一种如果传入的字符串有误,不能正确创建对象,第三种相对于第二种,不需要实例化工厂类,所以,大多数情况下,我们会选用第三种——静态工厂方....
分类:
编程语言 时间:
2015-05-16 20:33:18
阅读次数:
138
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。为工厂类做一个统一的父.....
分类:
编程语言 时间:
2015-05-16 20:21:27
阅读次数:
103
创建一个 Bean 实例对象的方法通常有如下方式:调用构造器创建 Bean 实例调用静态工厂方法创建 Bean 实例调用实例工厂方法创建 Bean 实例使用构造器创建 Bean 实例XML 配置:使用静态工厂方法创建 Bean 实例XML 配置:静态工厂类:public class ClientSe...
分类:
编程语言 时间:
2015-05-15 22:49:50
阅读次数:
156
工厂模式提到的最多, 用途也最广. 简单说就是: 定义一个用户创建对象的接口.简单工厂模式:①抽象基类:类中定义抽象一些方法,用以在子类中实现②继承自抽象基类的子类:实现基类中的抽象方法③工厂类:用以实例化对象只要是可以根据不同的参数生成不同的类实例,那么就符合工厂模式的设计思想。//这样子做很方便...
分类:
Web程序 时间:
2015-05-15 19:52:50
阅读次数:
120
工厂类:/** * Created by zzq on 2015/5/15. */module.exports = function(){ this.getProduct = function(){ console.log('重写这个方法获得相应的产品对象!'); }}产品...
分类:
Web程序 时间:
2015-05-15 17:12:19
阅读次数:
144
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了//接口public interface Send...
分类:
其他好文 时间:
2015-05-14 11:51:52
阅读次数:
122
1 简单工厂模式简介
简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。
2 模式组成
1)工厂(Creator)角色
简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。
2)抽象产品(Product)角色
简单...
分类:
Web程序 时间:
2015-05-13 16:55:06
阅读次数:
263
抽象工厂模式(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类。
优点:便于交换产品系统,由于具体工厂类,在一个应用中只需要初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,只需要改变具体工厂即可以使用不同的产品配置。它让具体的创建实例过程与客户端分离,客户端是通过他们的抽象接口操作实例,产品的具体类名也被具体工厂实现分离,...
分类:
编程语言 时间:
2015-05-12 23:02:51
阅读次数:
194
简单工厂简单工厂的优缺点:缺点:①违反了OCP(开放-封闭原则)。(当工厂内增加一个方法创建对象时候,需要在原来的工厂内,添加一个case语句)。修改原来的类,是违反设计原则的。 ②增加客户端和工厂类的耦合。优点:①去除(非降低)客户端和具体产品的耦合。客户端和具体产品中间增加一个工厂类,增加...
分类:
其他好文 时间:
2015-05-11 21:35:22
阅读次数:
168