E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
php设计模式
php设计模式
之原型模式
实现方式:原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。何时使用:原型模式适用于大对象的创建。创建一个大对象需要需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可,这样就免去了类创建重复的初始化操作。实例:name=$name;$this->sex=$sex;$this->eye=$eye;$this->ear=$ear;$this->leg=$leg
ma199385
·
2015-08-20 10:00
设计模式
PHP
原型模式
php设计模式
之观察者模式
原理:这一模式允许某个类观察另一个类的状态,当被观察的类状态发生改变的时候,观察类可以收到通知并且做出相应的动作,通常情况下,一个观察者类负责观察被观察者中的一个事件使用场景:用户注册(验证邮件,用户信息激活),购物网站下单时邮件/短信通知等.接口:SplSubject接口,它代表着被观察的对象,其结构:interfaceSplSubject{publicfunctionattach(SplObs
ma199385
·
2015-08-17 11:00
设计模式
观察者模式
PHP
php设计模式
之策略模式
1.定义:将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,称为策略模式2.使用策略模式可以实现ioc(控制反转),降低依赖注入3.如下面这个例子,如果不使用策略类,那么我们会使用ifelse或者switch这种控制结构来判断吃的食物,从而调用所选食物的处理方法,当我们增加一种食物时,需要对原本的代码新增加一个判断逻辑,此种方式我们称之为硬编码,应该避免strategy=$eat;}pu
ma199385
·
2015-08-07 16:00
设计模式
PHP
策略模式
PHP设计模式
(6)- PHP链式操作
PHP链式操作:形如:$db->where()->order()->limit()的语法模式,在一行代码中完成多个方法的调用。链式操作的关键在于被调用的对象方法返回对象本身。sql.="where{$where}";return$this;}publicfunctionorder($order){$this->sql.="orderby{$order}";return$this;}publicfu
redasurc
·
2015-08-01 15:00
php设计模式
之适配器模式
适配器模式分为两种分别是类适配器和对象适配器借鉴http://blog.csdn.net/hguisu/article/details/7527842适用性:你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作。(仅适用于对象适配器)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配
ma199385
·
2015-07-30 17:00
设计模式
PHP
适配器
《
PHP设计模式
大全》系列技术文章整理收藏
《
PHP设计模式
大全》系列技术文章整理收藏 1
php设计模式
介绍之值对象模式第1/5页http://www.lai18.com/content/375691.html2
php设计模式
介绍之编程惯用法第
开元中国2015
·
2015-06-27 17:00
设计模式
PHP
PHP设计模式
——职责链模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 职责链模式(又叫责任链模式)包含了一些命令对象和一些处理对象,每个处理对象决定它能处理那些命令对象,它也知道应该把自己不能处理的命令对象交下一个处理对象,该模式还描述了往该链添加新的处理对象的方法。 UML类图: 角色: 抽象处理者(Manager):定义出一个处理请
jhq0113
·
2015-06-11 10:00
设计模式
面向对象
职责链模式
php设计模式
PHP设计模式
——访问者模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 UML类图: 角色: 1.抽象访问者(State):为该对象结构中具体元素角色声明一个访问操作接口。该操作接口的名字和参数标识了发送访问请求给具体访问者的具
jhq0113
·
2015-06-11 10:00
设计模式
面向对象
访问者模式
php设计模式
PHP设计模式
——模板模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。 UML类图: 角色:
jhq0113
·
2015-06-10 11:00
设计模式
面向对象
模板模式
php设计模式
PHP设计模式
——状态模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 状态模式当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。 UML类图: 角色: 上下文环境(W
jhq0113
·
2015-06-10 10:00
设计模式
面向对象
状态模式
php设计模式
PHP设计模式
——备忘录模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 备忘录模式又叫做快照模式或Token模式,在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 UML类图: 角色: 1.发起人(GameRole):负责
jhq0113
·
2015-06-10 10:00
设计模式
面向对象
备忘录模式
php设计模式
PHP设计模式
——状态模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 状态模式当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。 UML类图: 角色: 上下文环境(W
苍穹0113
·
2015-06-10 00:00
【系统架构设计】
【PHP】
PHP设计模式
PHP设计模式
——中介者模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 中介者模式用一个中介者对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。 UML类图: 角色: 中介者接口(UnitedNations):在里面定义了各个同事之间相互交互所需要的方法。
jhq0113
·
2015-06-09 21:00
设计模式
面向对象
中介者模式
php设计模式
PHP设计模式
——迭代器模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 迭代器模式:迭代器模式是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构。 UML类图: 角色: Iterator(迭代器):迭代器定义访问和遍历元素的接口
jhq0113
·
2015-06-08 22:00
设计模式
面向对象
迭代器模式
php设计模式
PHP设计模式
——命令模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 命令模式:在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式。 类图: 角色分析:
jhq0113
·
2015-06-04 20:00
面向对象
命令模式
php设计模式
PHP设计模式
——观察者模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 观察者模式(有时又被称为发布-订阅模式)。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。 UML类图: 重要角色: 抽象通知者角色(INotifier):定
jhq0113
·
2015-06-03 22:00
设计模式
观察者模式
面向对象
php设计模式
PHP设计模式
——解释器模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 解释器模式:Givenalanguage,definearepresentationforitsgrammaralongwithaninterpreterthatusestherepresentationtointerpretsentencesinthelanguage。给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释
jhq0113
·
2015-05-31 21:00
设计模式
面向对象
php设计模式
解释器模式
php设计模式
的六大原则(四):接口隔离原则
接口隔离原则是对接口或者抽象类的规范约束。接口隔离原则看起来确实很简单,但要注意在拆分接口的时候的粒度,不能太细,例如这个例子不能把每个动作都写个借口吧、、接口隔离原则一句话核心:一个接口或者类应该拥有尽可能少的行为(那么,什么叫尽可能少?就是少到恰好能完成它自身的职责)不要迫使实现接口的类去实现和该类无关的方法。
stone_
·
2015-05-21 18:00
PHP设计模式
——策略模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化,即封装变化的算法。 适用场景: 1、多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。 2、需要在不同情况下使用不同的策略(算法)
jhq0113
·
2015-05-16 22:00
设计模式
面向对象
策略模式
php设计模式
PHP设计模式
——代理模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 代理模式为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 UML类图: 角色介绍: 抽象主题角色(IGiveGift):定义了Follower和Proxy公用接口,这样就在
jhq0113
·
2015-05-16 18:00
设计模式
面向对象
代理模式
php设计模式
PHP设计模式
——享元模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。享元模式使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。UML类图:角色分析:享元工厂角色(FWFactory):创建并管理BlogModel对象。所有具体享元父
苍穹0113
·
2015-05-16 13:43
【系统架构设计】
【PHP】
PHP设计模式
PHP设计模式
——享元模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 享元模式使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。 UML类图: 角色分析:
jhq0113
·
2015-05-16 13:00
设计模式
面向对象
享元模式
php设计模式
PHP设计模式
——门面模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 门面模式(有时候也称外观模式)是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。 案例:炒股票,新股民不了解证券知识做股票,是很容易亏钱的,需要学习的知识太多了,这样新手最好把炒股的事情委托给基金公司,基金公司了解证券知识,那么新股
jhq0113
·
2015-05-16 11:00
设计模式
面向对象
门面模式
php设计模式
PHP设计模式
——装饰器模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 装饰器模式又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 UML类图: 角色: 组件对象的接口:可以给这些对象动态的添加职责 所有装饰器的父类:需要定义一个与组件接口一致的接口
jhq0113
·
2015-05-03 12:00
设计模式
面向对象
装饰器模式
php设计模式
PHP设计模式
——组合器模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 组合模式(有时候又叫做部分-整体模式),将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 实现类图:
jhq0113
·
2015-05-02 22:00
设计模式
面向对象
php设计模式
组合器模式
PHP设计模式
——桥接模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 桥接模式:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?这就要使用桥接模式——将抽象部分与它的实现部分分离,使他们可以独立地变化。 UML类图: 角色介绍: 抽象化(AbstractRoad)角色:抽象化给出的定义,并保存
jhq0113
·
2015-05-02 20:00
设计模式
面向对象
桥接模式
php设计模式
PHP设计模式
――适配器模式
适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的(适配器模式要解决的核心问题)。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。 类图: 待适配(ForeignPlayer)角色:此角色的接口规则内部的接口规则不一致,但内部需要调用该角色的方法功能。内部接口(IPlayer)角色:这是一个抽象角色,此角色给出内部期待
ww169920502
·
2015-04-27 20:49
Web
PHP设计模式
——适配器模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的(适配器模式要解决的核心问题)。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。 类图: 待适配(ForeignPlayer)角色:此角色的接口规则内部的接口规则不一
jhq0113
·
2015-04-26 13:00
设计模式
php设计模式
PHP设计模式
——原型模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变
jhq0113
·
2015-04-25 20:00
设计模式
PHP
prototype
php设计模式
PHP设计模式
——建造者模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 建造者模式也称生成器模式,核心思想是将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。 例如:汽车,他的发动机引擎有好多品牌,轮胎也有各种材质,内饰更是千奇百怪;鸟,他的头、翅膀以及脚有各种颜色和形状,在创建这种复杂对象的时候,我们建议使用建造者模式。
jhq0113
·
2015-04-25 11:00
设计模式
建造者模式
PHP设计模式
——单例模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。 单例模式也称单态,是23种设计模式中最简单的一种,从他的名字就可以知道他的核心思想,单例模式就是系统中只有一个这样的对象,对象只有一个,在Java或者C#中,单例模式一般有两种,分别是懒汉式、饿汉式,但是在PHP中常用的就是懒汉式,由于PHP是单线程的,懒汉式也不存在双重验证。 懒汉式具体代码: age=22;
jhq0113
·
2015-04-21 22:00
设计模式
Singleton
PHP设计模式
——抽象工厂
声明:本系列博客参考资料《大话设计模式》,作者程杰。 前面我们介绍了简单工厂和工厂方法设计模式,今天我们学习最后一个工厂——抽象工厂。 案例:追MM少不了请吃饭了,去麦当劳,只管向服务员说“两个B套餐”就行了。麦当劳就是B套餐的AbstractFactory,B套餐里含有汉堡,鸡翅和饮料.麦当劳或肯德基会根据B套餐的规格,让汉堡Factory,鸡翅Factory,
jhq0113
·
2015-04-19 19:00
设计模式
抽象工厂
PHP设计模式
——工厂方法
声明:本系列博客参考资料《大话设计模式》,作者程杰。 前面我们介绍了简单工厂,今天我们继续学习另外一个工厂——工厂方法。 具体案例:请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我们一般采用FactoryMethod模式,带着MM到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让MM直接跟服务员说就行了。 工厂
jhq0113
·
2015-04-16 22:00
工厂模式
php设计模式
PHP设计模式
——简单工厂
声明:本系列博客参考资料《大话设计模式》,作者程杰。 前面两节内容介绍了什么是设计模式以及六大原则,相信看完前两节内容大家对设计模式已经有了初步的认识,接下来说一下设计模式的分类。 一般将面向对象设计模式分为三类:创建型、结构型、行为型三种。 创建型:创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能
jhq0113
·
2015-04-09 23:00
设计模式
PHP
面向对象
工厂模式
PHP设计模式
——六大原则
声明:本系列博客参考资料《大话设计模式》,作者程杰。 一般认为遵从以下六大原则的代码是易扩展可复用的代码: 这六大原则任何面向对象的语言都应该遵守的,要想让你的代码易扩展高服用就尽量去满足这六大原则吧,不一定严格按照某种设计模式,但是如果你的代码符合这六大原则,那么你的代码就是好代码了,好的代码不一定是严格按照设计模式写的代码。
jhq0113
·
2015-04-06 23:00
设计模式
面向对象
扩展
需求
可扩展
PHP设计模式
——概述
声明:本系列博客参考资料《大话设计模式》,作者程杰。 常见的面向对象设计模式大约有23种,但是自从接触PHP后,渐渐发现常见的设计模式好像少了很多,网络上的资料也比较少,身边的PHP同事们有的甚至没有听说过设计模式,这也有可能是PHP的发展所带来的,因为PHP对面向对象支持的比较晚,好多PHP程序员还按照面向过程的思想写代码。于是,我决定把原来用C#写的面向
jhq0113
·
2015-04-06 22:00
设计模式
PHP
面向对象
PHP设计模式
(二):注册模式
“注册模式”就像“对象的电话簿”——储存并且能够取回对对象引用的登记簿,说白了就是一个全局对象的存取器,先看下面是一个简单示例:classRegistry{ privatestatic$_data=array(); publicstaticfunctionget($name){ returnisset(self::$_data[$name])?self::$_data[$name]:''; } p
sakmon
·
2015-03-31 10:00
Registry
注册模式
PHP设计模式
(一):单例模式
让类只有一个实例,这是单例模式要解决的根本问题。在PHP开发中有时候可能会对中一个类多次实例化,这会造成性能上的损失。比如我们访问数据库时候肯定不会希望每次对数据库操作都去建立一个新的连接,因为这会造成系统资源的浪费。那么如何让类只会有一个实例呢?我们知道通过new类名可以创建实例,所以必须禁止外部程序用new类名的方式来创建多个实例,那么如何禁止呢?我们只需将类的构造函数标记为private,那
sakmon
·
2015-03-31 10:00
PHP
单例模式
单件
常见的
php设计模式
工厂模式最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合。要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程。在更改一个代码片段时,就会发生问题,系统其他部分——您曾认为完全不相关的部分中也有可能出现级联破坏。该问题在于紧密耦合 。系统某个部分中的函数和类严重依赖于系统的其他部分中函数和类的行为和结构。您需要一组模式,使这些类能够相互通信,但不希望将它们紧密绑定在一起,以避免
stone_
·
2015-03-04 14:00
php设计模式
之单例模式实例分析
本文实例讲述了
php设计模式
之单例模式。分享给大家供大家参考。
蓝祖生
·
2015-02-25 17:48
php设计模式
之――原型模式
obj = $name; } public function getName(){ return $this->obj; } public function setName($name){ $this->obj = $name; } public function copy(){ return clone $this; } } class Client{ public static fun
魔法猫
·
2015-02-12 14:05
设计模式
原型模式
php设计模式
php设计模式
之――原型模式
obj = $name; } public function getName(){ return $this->obj; } public function setName($name){ $this->obj = $name; } public function copy(){ return clone $this; } } class Client{ public static fun
魔法猫
·
2015-02-12 14:05
设计模式
原型模式
php设计模式
php设计模式
之——原型模式
obj = $name;}public function getName(){return $this->obj;}public function setName($name){$this->obj = $name;}public function copy(){return clone $this;}}class Client{public static function main(){$new
魔法猫
·
2015-02-12 14:05
设计模式
原型模式
php设计模式
设计模式
php设计模式
之――建造者模式
_age = $age; } public function setName($name){ $this->_name = $name; } public function setProv($prov){ $this->_prov = $prov; } public function getMan(){ echo $this->_age.$this->_name.$this->prov; }
魔法猫
·
2015-02-11 15:53
设计模式
PHP
建造者模式
php设计模式
之――建造者模式
_age = $age; } public function setName($name){ $this->_name = $name; } public function setProv($prov){ $this->_prov = $prov; } public function getMan(){ echo $this->_age.$this->_name.$this->prov; }
魔法猫
·
2015-02-11 15:53
设计模式
PHP
建造者模式
php设计模式
之——建造者模式
_age = $age;}public function setName($name){$this->_name = $name;}public function setProv($prov){$this->_prov = $prov;}public function getMan(){echo $this->_age.$this->_name.$this->prov;}}class Buildi
魔法猫
·
2015-02-11 15:53
php
设计模式
建造者模式
设计模式
星际争霸之
php设计模式
--适配器模式
题记==============================================================================本
php设计模式
专辑来源于博客(jymoz.com
·
2015-01-25 14:00
适配器模式
星际争霸之
php设计模式
--迭代器模式
题记==============================================================================本
php设计模式
专辑来源于博客(jymoz.com
·
2015-01-25 14:00
迭代器模式
星际争霸之
php设计模式
--观察者模式
题记==============================================================================本
php设计模式
专辑来源于博客(jymoz.com
·
2015-01-25 14:00
观察者模式
星际争霸之
php设计模式
--职责链模式
题记==============================================================================本
php设计模式
专辑来源于博客(jymoz.com
·
2015-01-25 14:00
职责链模式
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他