简单工厂模式一、简介 简单工厂模式又叫静态工厂方法(StaticFactoryMethod)模式。 其实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 简单的说,就是一个专门的类来负责所有的实例的创建。二、角色及其职责 工厂(C...
分类:
其他好文 时间:
2015-01-02 22:19:34
阅读次数:
219
一,先看看简单工厂模式简单工厂模式的优点:工厂类中包含了必要的逻辑判断,根据客户端的选择动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。简单工厂模式的缺点:增加功能的时候,就需要增加case的条件分支,也就是要修改工厂类,违背了“开放-封闭原则”。2,工厂方法模式:# -*- encod...
分类:
其他好文 时间:
2015-01-02 21:08:23
阅读次数:
187
开始先介绍下单态模式,也就是单例模式,我们主要区别于Spring中的原型模式,单例模式就是保证一个类只存在一个实例,就是只初始化一次,第一次完成初始化以后,重复使用的时候,返回的都是这个实例,而且不是重新去new一个新的,这就在DAO层中比较常见,我们定义一个工厂类(seesionFactory),不用每次都去New个用,好处在于节省了内存和时间,但是如果你对象里面的属性值已经改变的话,就不适合使...
分类:
数据库 时间:
2015-01-01 17:24:43
阅读次数:
205
一、简单工厂模式
定义:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。
问题:产品类的职责过重,违反了单一职责原则;如果增加新的职责,就要修改产品类的源代码,违反了
开放—封闭原则。
解决方案:提供专门的工厂建立对象,将对象的使用和创建分开。
...
分类:
其他好文 时间:
2015-01-01 17:21:39
阅读次数:
206
Apache在CommonsCompress中提供了众所周知的tar、cpio、zip等压缩算法实现,其中最为丰富的当属zip实现了!
Commons Compress为压缩(GZip和BZip2)构建了压缩算法工厂类CompressorStreamFactory。通过这个类可以方便的构建GZip和BZip2的输入输出流,关键字分别为“gz”和“bzip2”。
GZip
Java代码
...
分类:
Web程序 时间:
2014-12-30 11:42:05
阅读次数:
224
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 好处:易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。它让具体的创建实例过程与客户端分离,客户...
分类:
其他好文 时间:
2014-12-30 09:57:33
阅读次数:
178
简单工厂 VS 工厂方法 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但添加新功能时需要修改原有的类,违背开发-封闭原则。 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使...
分类:
其他好文 时间:
2014-12-29 13:37:06
阅读次数:
125
目前只写了与SqlServer的数据处理。首先是静态工厂类。using System;using System.Configuration;namespace XPSoft.BaseLibrary.DataAccess{ /// /// 数据访问对象的静态工厂类,用于创建不同类型的数据...
今天,在项目中遇到一个问题,情况是这样的:在一个项目中,我配置了一个用以处理任务的工厂类,然后将这个工厂类注入到其他的service类中进行使用。在Spring中的配置如下:...
分类:
编程语言 时间:
2014-12-26 14:38:04
阅读次数:
138
创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工.....
分类:
其他好文 时间:
2014-12-25 00:09:19
阅读次数:
225