为期1月份的设计模式之旅已走完,我们今天一起来总结咱们前面的东西;其实设计模式分为:创建模式、结构模式、行为模式。它们分别是对应那些呢?
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模...
分类:
其他好文 时间:
2015-02-27 11:59:09
阅读次数:
174
简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。本文是本人对这三种模式学习后的一个小结以及对他们之间的区别的理解。简单工厂简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对...
分类:
其他好文 时间:
2015-02-26 09:47:59
阅读次数:
142
最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记。 在《Design Patterns:Elements of Resuable Object-Oriented Software》中的定义是:Ensure?a class only ha...
设计模式-使用php实现工厂方法模式【概要】创建型模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使用一个类的实例化延迟到其子类【GOF95】【结构图】【主要角色】抽象产品(Product)角色:详细产品对象共同拥有的父类或接口详细产品(Concrete Pro...
分类:
Web程序 时间:
2015-02-20 17:23:14
阅读次数:
146
/***设计模式四要素:*1.模式名称*2.问题*3.解决方案*4.效果*设计模式分为三种类型:*1.创建型模式:*1.1简单工厂模式*1.2工厂模式*1.3抽象工厂模式*1.4单例模式*1.5原型模式*1.6建造者模式*2.结构型模式:*2.1适配器模式*2.2桥接模式*2.3装饰模式*2.4组合模式*2.5外观模式*2.6享..
分类:
其他好文 时间:
2015-02-17 23:44:45
阅读次数:
259
<?php
/**
*1.4单例模式
* 解决的问题:
* 如何确保一个特殊类的实例是独一无二的
* ,也就是说这个实例是它所属类的唯一一
* 个实例对象,并且很容易的对它进行存取?
*解决的方案:
* 保证一个类仅有一个实例,并提供一个访
* 问它的全局访问点。
*该模式包含..
分类:
其他好文 时间:
2015-02-17 23:43:52
阅读次数:
160
<?php
/**
*1.1简单工厂模式
*
*解决的问题:
* 如何解决多个类实例化对象的问题。
* 注意:因为是简单工厂模式,所以要实例
* 化的类不能太多,否则请使用1.2节
* 的工厂方法模式。
*
*解决方案:
* 建立一个工厂(即一个工厂类),通过参数的
* 传递动态决定..
分类:
其他好文 时间:
2015-02-17 23:43:48
阅读次数:
241
<?php
/**
*1.5原型模式
* 解决的问题:
* 某些结构复杂的对象的创建工作,由于需
* 求的变化,这些对象经常面临着剧烈的变
* 化,但是它们却有用比较稳定一种的接口。
*解决的方案:
* 用原型实例指定创建对象的种类,并且通
* 过拷贝这些原型创建新的对象。
..
分类:
其他好文 时间:
2015-02-17 23:43:45
阅读次数:
180
<?php
/**
*1.3抽象工厂模式
*解决的问题:
* 如何解决多个类实例化对象的问题。
*解决的方案:
* 提供一个创建一系列相关或相互依赖对象的
* 接口,而无需指定它们具体的类。
*该模式包含四种角色:
* 1.抽象产品角色(两个或多个)
* 职责:同工厂方法模..
分类:
其他好文 时间:
2015-02-17 23:42:59
阅读次数:
194
<?php
/**
*1.2工厂方法模式
*解决的问题:
* 如何解决多个类实例化对象的问题。
*
*解决的方案:
* 定义一个用于创建对象的接口,让子类决定
* 实例化哪一个类。工厂方法使一个类的实例
* 化延迟到其子类。
*
*该模式包含四种角色:
* 1.抽象产品角色(一个..
分类:
其他好文 时间:
2015-02-17 23:42:30
阅读次数:
248