工厂模式:首先需要说一下工厂模式。工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)、本文所讲述的工厂方法模式、以及抽象工厂模式。工厂模式是编程中经常用到的一种模式。它的主要优点有:可以使代码结构清晰,有效地封装变化。在编程中,产品类的实..
分类:
其他好文 时间:
2014-07-30 03:29:14
阅读次数:
187
抽象工厂模式是工厂方法模式的进一步强化。当工厂函数只需要产生一种类型的产品(所有产品都继承自同一抽象基类)时,使用工厂方法模式即可。但是,当用户程序需要创建多种类型的产品,而这些产品又有一定的内在联系,那么就要用到抽象工厂模式了。抽象工厂模式的UML图如下所示:
AbstractProductA和AbstractProductB是两种不同类型的抽象产品,每种类中的抽象下面又有两种...
分类:
其他好文 时间:
2014-07-29 13:00:36
阅读次数:
243
1、动机与定义 工厂模式中,一个工厂仅仅能提供一个或一类产品,当产品种类较多,形成产品系列(比方我们要创建跨平台的button,菜单,文本框等等一系列GUI控件: 单纯使用工厂模式会产生大量工厂,并且后期维护也不方便,我们能够从产品中找到规律,假设产品等级相对固定,以后仅仅会新增产品族,那么...
分类:
其他好文 时间:
2014-07-26 17:06:52
阅读次数:
280
抽象工厂(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。一般用反射,配置文件等方式实现。
1、易于交换产品系列。由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。
2、它让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操纵实例,产...
分类:
其他好文 时间:
2014-07-26 15:10:00
阅读次数:
190
本文内容来自书上,不懂设计模式,只求混个眼熟。
三、抽象工厂模式
1. 动物管理系统的例子
public interface Animal{
public void eat();
}
public class Tiger implements Animal
{
public void eat(){
sysout.out.println("老虎会吃");
};
p...
分类:
其他好文 时间:
2014-07-25 11:15:01
阅读次数:
196
抽象工厂(abstractFactory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体类。适用场合:1.一个系统要独立于它的产品的创建、组合和表示时。2.一个系统要由多个产品系列中的一个来配置时。3.当你强调一系列相关的产品对象的设计以便进行联合使用时。4.当你提供一个产品类库...
分类:
其他好文 时间:
2014-07-24 22:25:42
阅读次数:
206
1.定义为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 2.适用场景1.一个系统要独立于它的产品创建、组合和表示。2.一个系统要由多个产品系列中的一个来配置。3.当你要强调一系列相关的产品对象的设计以便进行联合使用。4.当你提供一个产品类库,而只想显示它们的接口而不是实现。....
分类:
其他好文 时间:
2014-07-24 21:54:12
阅读次数:
212
DAL是指Data Access Layer,DALFactory是用于创建数据访问对象的工厂,本质上是采用了抽象工厂的设计模式,目的是支持多种数据访问层,比如sql server和oracle两种实现;同时又利用了.net的反射机制,通过配置文件即可确定采用哪种数据访问实现;IDAL是数据访问层接...
分类:
其他好文 时间:
2014-07-24 21:34:12
阅读次数:
173
在一一分析每种设计模式之前,我首先把所有的设计模式做了一个总结,大致分成三部分:创建型模式、结构型模式和行为型模式。
一、创建型模式
1、抽象工厂模式
提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。
2、建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
3、工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂...
分类:
其他好文 时间:
2014-07-24 10:39:44
阅读次数:
210