![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
hcb0825
PHPer
展开
-
PHP设计模式之Factory模式
<br /><br /><br />Factory有两个特点:<br />1)定义创建对象的接口,封装了对象的创建;<br /> 2)使得具体化类的工作延迟到了子类中。<br />这些特点应用到具体项目中可以使得我们在项目初期需要知道其他人实现的具体有哪些类,只需要调用某个基类,通过基类我们可以不断增加子类来满足系统不断扩展的要求,体现了软件项目中自顶向下的分析的过程。一下是这个过程的UML示意图:<br /> <br /> <br /><br /> <br />以下代码来源于一个大牛的博客:http:/原创 2011-04-15 16:35:00 · 476 阅读 · 0 评论 -
PHP设计模式之Prototype模式
<br />原型模式重要的特点是,一个基类提供一个拷贝自己对象的接口方法,然后简化了子类的创建。当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些,下面是Prototype模式典型的结构图:<br /><br /> 下面的代码来源于一个大牛的blog: http://www.phppan.com/?s=%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F<br /><?php /** * 原型模式 2010-原创 2011-04-15 17:38:00 · 448 阅读 · 0 评论 -
PHP设计模式之Builder模式
<br />Builder模式让我想到一个词“外包”,他把对象的创建外包给一个客户类,并且这个“外包类”要一步一步地创建对象,但是他又不返回本身类的对象。当然,这只是个比方,不是很准确,其实Builder模式要解决的是这样的问题:当我们要创建的对象很复杂的时候(通常是由很多其他的对象组合而成),我们要要复杂对象的创建过程和这个对象的表示(展示)分离开来,这样做的好处就是通过一步步的进行复杂对象的构建,由于在每一步的构造过程中可以引入参数,使得经过相同的步骤创建最后得到的对象的展示不一样。值得一提的是这个模式原创 2011-04-15 17:05:00 · 1232 阅读 · 0 评论 -
PHP设计模式之Singleton模式
说到设计模式,大家可能都会想到单例模式,我个人认为单例模式是设计模式中最简单、最容易理解的一种。实现它的途径是把类的构造函数设置为私有方法,并设置一个私有的属性,让一个公有的方法访问这个属性。Singleton模式典型的UML结构图: 下面的代码来源于一个大牛的Blog:http://www.phppan.com/?s=%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F test(); } } Client::main(); ?>原创 2011-04-15 17:46:00 · 432 阅读 · 0 评论 -
PHP设计模式之AbstractFactory模式
<br />通常工厂模式用来创建某类固定模式的对象,但是某些项目中我们经常要创建不同类型的对象,比如在游戏中,通常有很多角色,这时就会用的抽象工厂方法,AbstractFactory模式典型的结构图为:<br /> <br />注释:UML连线中虚线箭头表示依赖关系,其它的不用说了吧!<br /> <br />下面是一位大牛的代码,来源于:http://www.phppan.com/?s=%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F<br /><?php /** * 抽象工原创 2011-04-15 16:45:00 · 443 阅读 · 0 评论