概述在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。意图提供一个创建一...
分类:
其他好文 时间:
2014-07-11 22:58:27
阅读次数:
205
工厂对象通常包含一个或多个方法,用来创建这个工厂所能创建的各种类型的对象。这些方法可能接收参数,用来指定对象创建的方式,最后返回创建的对象。有时,特定类型对象的控制过程比简单地创建一个对象更复杂。在这种情况下,工厂对象就派上用场了。工厂对象可能会动态地创建产品对象的类,或者从对象池中返回一个对象,或...
分类:
其他好文 时间:
2014-07-09 19:48:34
阅读次数:
216
[javascript]view plaincopyvarjsonStr={"customer_name":"大发粮油加工厂","customer_id":"1","y":"45646","stop_date":"2030-01-0100:00:00.0","data_guid":"13sd13f1...
分类:
Web程序 时间:
2014-07-09 17:15:39
阅读次数:
241
对工厂方法进行抽象。当增加新的产品时,不用改动工厂类。而是集成已有的工厂接口或者抽象工厂,创建新的工厂。这就是对扩展开发,对修改封闭。1 package Pak;2 3 public abstract class Automobile {4 public abstract void Run(...
分类:
编程语言 时间:
2014-07-09 13:38:37
阅读次数:
235
简单工厂模式是由一个工厂对象来决定创建出哪一种产品类的实例(对象),就是由一个工厂类根据传入的参数来决定需要创建哪一种产品的对象或实例。
此模式主要涉及到工厂角色,抽象产品,具体产品三个角色
工厂类(Creator),此模式的核心,含有与应用紧密相关的商业逻辑,
抽象产品(Product),担任需要创建产品的父类,一般由一个java接口事抽象类来实现
具体产品(Concrete Produ...
分类:
其他好文 时间:
2014-07-09 12:18:01
阅读次数:
187
工厂方法模式相对于简单工厂模式的优点是为了更好的拓展,当如果再新加一种产品,对于简单工厂模式来说需要修改核心的工厂类,但对于工厂方法模式则不需要,在工厂方法模式中核心的工厂类不再负责创建所有产品的创建,而是将具体创建的工作交给了了类去实现,自己的核心类则变成一个抽象的工厂角色。
这种 进一步的抽象的结果 是可以允许系统在不修改工厂类的前提下引进新的产品。此模式涉及到四种 角色,分别如下:
抽象...
分类:
其他好文 时间:
2014-07-09 11:47:35
阅读次数:
199
设计模式被称为程序员的内功,之前零零散散的看过一大部分,但自己么有总结过,故此次在这里总结下。值得一提的是,设计模式并非Java所特有。因为一直搞Android,这里就用Java为载体。最经典的设计模式有23种,分三个大类型: 创建型模式(5) 、结构型模式(7)、行为型模式(11),5 + 7 +11 = 23.网上一搜也都是一大把了,这里仅仅是个人作的记录。本文记录创造型模式里的工厂方法(Fa...
分类:
编程语言 时间:
2014-07-08 21:33:34
阅读次数:
178
简单工程模式:对具有相同功能的类进行抽象得到父类,这些类继承它成为子类。为了对这些功能进行选择,建立一个工厂类进行判断,其中运用一个Switch语句。
优点:结构简单、操作单一。
缺点:需要事先考虑周到,操作时需准确。由下的“功能扩展”中可知,易违背设计模式六大原则中的“开放-封闭原则”。
功能扩展:若增添功能方法,则需另添加一个类,在运算类中添加的相应的方法,再修改客户端中的Switch语句中的case项。
工厂方法模式(Factory Method):先建立一个...
分类:
其他好文 时间:
2014-07-08 14:34:46
阅读次数:
211
1,工厂方法:使用一个工厂的方法来创建产品。1 package WHP;2 //产品依赖于抽象3 public interface IRunable {4 public void Run();5 }1 package WHP;2 //具体实现3 public class Car implem...
分类:
编程语言 时间:
2014-07-08 00:28:48
阅读次数:
391
设计模式我觉得是前人总结的,为了解决一类问题而总结的代码设计经验。最初可能为了使用而使用,后面就会发现,很多没想到的问题因为使用了正确的设计模式已经为你考虑到了。《design patterns设计模式》这本书是程序员进阶必学。...
分类:
编程语言 时间:
2014-07-06 00:54:38
阅读次数:
245