概述在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。意图提供一个创建一...
分类:
其他好文 时间:
2014-07-11 22:58:27
阅读次数:
205
对工厂方法进行抽象。当增加新的产品时,不用改动工厂类。而是集成已有的工厂接口或者抽象工厂,创建新的工厂。这就是对扩展开发,对修改封闭。1 package Pak;2 3 public abstract class Automobile {4 public abstract void Run(...
分类:
编程语言 时间:
2014-07-09 13:38:37
阅读次数:
235
工厂方法模式相对于简单工厂模式的优点是为了更好的拓展,当如果再新加一种产品,对于简单工厂模式来说需要修改核心的工厂类,但对于工厂方法模式则不需要,在工厂方法模式中核心的工厂类不再负责创建所有产品的创建,而是将具体创建的工作交给了了类去实现,自己的核心类则变成一个抽象的工厂角色。
这种 进一步的抽象的结果 是可以允许系统在不修改工厂类的前提下引进新的产品。此模式涉及到四种 角色,分别如下:
抽象...
分类:
其他好文 时间:
2014-07-09 11:47:35
阅读次数:
199
从网上查找资料的时候发现很多同学都写过这篇博客了,可见我的方向没有跑偏。虽然我们学设计模式的时候已经接触过抽象工厂模式,大话设计模式中每个设计模式都紧密联系生活,而且主人公讲的也相当有趣,但是真正运用起来却没那么简单。可以说小菜只是帮我们理解了各个设计模式的用途以及有确定,真正的理解还需要我们自己动手实践。
为什么要用抽象工厂?
主要就是为了提高软件的灵活性,运用抽象工厂+反射+配置文...
分类:
其他好文 时间:
2014-07-06 11:25:23
阅读次数:
148
设计模式我觉得是前人总结的,为了解决一类问题而总结的代码设计经验。最初可能为了使用而使用,后面就会发现,很多没想到的问题因为使用了正确的设计模式已经为你考虑到了。《design patterns设计模式》这本书是程序员进阶必学。...
分类:
编程语言 时间:
2014-07-06 00:54:38
阅读次数:
245
简单工厂模式属于工厂模式的一种,工厂模式总共有三种,分别是简单工厂模式,工厂方法模式和抽象工厂模式,三者有一个共同点,就是对象的创建都交给了工厂去做。从简单工厂模式到抽象工厂模式,抽象级别逐渐升高。工厂模式包括三个部分:工厂角色,抽象产品角色和具体产品角色。工厂角色是工厂模式的核心,由它决定创建哪个...
分类:
其他好文 时间:
2014-07-03 23:00:29
阅读次数:
285
抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 AbstractProductA和AbstractProductB是两个抽象产品,之所以抽象,是因为他们都有可能有两种不同的实现,而ProductA1、ProductA2和Pro....
分类:
其他好文 时间:
2014-07-03 00:13:21
阅读次数:
220
因为在上篇文章已经介绍过何为三层,在这就不在介绍,这篇文章的主要内容是介绍三层+设计模式后该怎样实现。首先要做的就是在哪加,怎样加? 三层基本的目的是解耦合,实现各个层之间的分离,从而做到改变一个尽可能不影响其它的层。所以能够在B层和D层加一个抽象工厂模式,来实现此目的。例如以下图: 当然还...
分类:
其他好文 时间:
2014-07-02 21:53:04
阅读次数:
249
在开发当中我们经常会使用三个设计模式,来帮我们解决项目代码的可扩展性。在简单工厂,工厂方法,抽象工厂这三个设计模式当中,代码其实都很简单,主要是要理解运用。简单工厂:简单工厂说白了,就是利用Switch根据传递的参数,进行实例化。利用抽象类,进行反转。从而得到自己想要的实例化对象。工厂方法:工厂方法...
分类:
其他好文 时间:
2014-07-02 18:25:12
阅读次数:
206
抽象工厂模式/************************************************************************//*设计模式抽象工厂模式抽象工厂模式和工厂方法模式非常相似相同点:一个具体的工厂类对应一个具体的产品类,每个产品类中只有一种具体的产品不同点...
分类:
其他好文 时间:
2014-06-30 12:56:27
阅读次数:
239