看了下大话设计模式,结合网上的各种觉得自己能够理解的好的资料整理一下,以备后用。1 基础概念:(转)OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭。我的理解是,对于一个已有的软件,如果需要扩展,应当在不需修改已有代码的基础上进行。DIP(依....
分类:
其他好文 时间:
2014-11-09 22:13:46
阅读次数:
202
一、UML图
二、包含的角色
简单工厂模式包含三个角色:(1)工厂类Factory(2)抽象产品类AbstractProduct(3)具体产品类ConcreteProduct。
(1)Factory:工厂类是用来制造产品的。因此,在Factory中有一个用于制造产品的Create函数或者Generate函数之类的函数。这个函数能够根据“标识符”的不同生成不同的ConcreteProd...
分类:
其他好文 时间:
2014-11-09 15:18:02
阅读次数:
146
工厂方法模式主要是对简单工厂模式的改良.由于这个简单工厂模式中,工厂类负责的所有对象的创建,那么,当子类不断增多的时候,我们就需要去修改工厂的代码,这样呢,就违反了一个原则:开闭原则.(假如真的要创建一个cat,工厂是没有创建cat的功能的.现实情况可能真的有创建cat的需求的,所以这个时候就需要更...
分类:
其他好文 时间:
2014-11-09 13:47:30
阅读次数:
211
设计模式-使用php实现工厂方法模式【概要】创建型模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使用一个类的实例化延迟到其子类【GOF95】【结构图】【主要角色】抽象产品(Product)角色:详细产品对象共同拥有的父类或接口详细产品(Concrete Pro...
分类:
Web程序 时间:
2014-11-09 12:32:48
阅读次数:
181
我现在有一个动物的继承体系: Animal 所有的动物都要吃饭. |--Pig |--Dog 当创建对象比较简单的时候,我们就可以直接在main方法里面做了,但是,很多时候,创建对象可能还需要做一些初始化, 也就是说创建对象的操作会比较复杂,这个时候,如果所有对象的创建工作我们还是在mai...
分类:
其他好文 时间:
2014-11-09 00:56:20
阅读次数:
193
一、 工厂方法(Factory Method)模式工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。...
分类:
其他好文 时间:
2014-11-06 23:32:27
阅读次数:
265
一、 简单工厂(Simple Factory)模式 Simple Factory模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。 Simple Factory模式实际上不是GoF 23个设计模式中的一员。二、 Simple Factory模式角色...
分类:
其他好文 时间:
2014-11-06 23:22:46
阅读次数:
312
抽象工厂模式
GOOD:定义了一个创建一系列相关或相互依赖的接口,而无需指定它们的具体类。
用于交换产品系列,如ACCESS->SQLSERVER;产品的具体类名被具体工厂的实现分离
例:
#include
#include
#include
using namespacestd;
//用户抽象接口
class IUser
{
pub...
分类:
其他好文 时间:
2014-11-06 22:07:38
阅读次数:
154
工厂模式是用封装对象创建的,包括简单工厂模式、工厂模式、抽象工厂模式。
简单工厂模式:
依赖原则:单一职责,分离程序变和不变的部分。
实现方式:不算真正意义上的工厂,只是把目标中创建对象的方法抽取出来,放到一个类中集中处理
模式优点:1.将程序中创建对象部分分离出来,放入一个类中进行集中管理,方便维护;2.分离部分可以考虑使用配置方式进行维护
模式缺点:1.仍然先天性...
分类:
其他好文 时间:
2014-11-06 17:33:30
阅读次数:
151
创建型: 2 个 (工厂模式, 单例模式)结构型: 6 个 (适配器模式, 组合模式, 装饰者模式, 代理模式, 外观模式, 桥梁模式)行为型: 8 个 (中介者模式, 策略模式, 模板模式, 观察者模式, 迭代器模式, 责任链模式, 命令模式, 状态模式)1. 工厂模式提供一个创建类的统一接口.目...
分类:
其他好文 时间:
2014-11-06 16:40:34
阅读次数:
244