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设计模式
- 中介者模式
interface Mediator{ public function sell($name,$number); } abstract class Human{ protected $mediator=null; abstract public function getThings($number); abstract public function bu
stone_
·
2015-11-18 11:00
php设计模式
- 观察者模式
场景:要写一个订单系统,买了东西后要给用户发送email,改变订单状态,等等。通常是这么写的:class Order{ public function buy(){ echo 'buy!'; $email = new Email(); $email -> doing(); $os = new orderStatus(); $os -> doin
stone_
·
2015-11-17 18:00
php设计模式
- 单例模式
场景:有一个工具类,要频繁使用这个工具类。通常是这么写的:class Data{ static public function getTool(){ $file = 'tool.class.php'; if(file_exists($file)){ include $file; $tool = new Too
stone_
·
2015-11-17 17:00
php设计模式
- 策略模式
场景:要做个php的数据接口,返回xml格式的数据。我们通常是这么写的。class Data{ private $_data = array(); public function __construct( $data ){ $this -> data = $data; } public function formatXml( $data
stone_
·
2015-11-17 16:00
php设计模式
的六大原则(六):迪米特法则
countGirls($listGirls); } } class GroupLeader { //有清查女生的工作 public function countGirls($listGirls = array()){ echo '女生的数量是:' . sizeof($listGirls); } } class Girl { } class Client { public static f
stone_
·
2015-11-17 15:00
Php设计模式
(三):行为型模式part2
原文详见:http://www.ucai.cn/blogdetail/7023?mid=1&f=5 可以在线运行查看效果哦! 《接上文》 5、中介者模式(Mediator) : 用中介对象封装一系列的对象交互,中介使各对象不需要显式地相互引用。类似于邮局,邮寄者和收件者不用自己跑很远路,通过邮局就可以。 &nb
·
2015-11-13 22:19
设计模式
php设计模式
(二):结构模式
上一篇我们介绍了设计模式的特性并且详细讲解了4种创建型模式,创建型模式是负责如何产生对象实例的,现在我们继续来给大家介绍结构型模式。 一、什么是结构型模式? 结构型模式是解析类和对象的内部结构和外部组合,通过优化程序结构解决模块之间的耦合问题。 二、结构型模式的种类: 适配器模式 桥接模式 装饰模式 &nb
·
2015-11-13 22:18
设计模式
Php设计模式
(三):行为型模式part1
原文详见:http://www.ucai.cn/blogdetail/7023?mid=1&f=5 可以在线运行查看效果哦! 在上一篇我们讲了结构型模式,结构型模式是讨论类和对象的结构的。总共有7种。而今天我们来介绍一下行为型模式。 一、什么是行为型模式? 行为型模式:
·
2015-11-13 22:18
设计模式
php设计模式
(一):简介及创建型模式
我们分三篇文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式。 一、设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用、容易被他人理解的、可靠的代码设计经验的总结。 设计模式不是Java的专利,我们用面向对象的方法在PHP里也能很好的使用23种设计模式。 那么我们常说的架构、框架和设计模式有什么关系呢? 架构是一套体系结构,是项目的整体解决方案;框架是
·
2015-11-13 22:17
设计模式
php设计模式
的六大原则(三):里氏替换原则
里氏替换原则是对类继承的一种约束。对里氏替换原则有两种理解:不能随便去继承不合适的,有多余方法或者属性的类。(例子1)子类可以扩展父类的功能,但不能改变父类原有的功能。(例子2)看了第二个例子,有人会说那岂不是和重载矛盾了。初看是有点,但仔细理解,并不矛盾,我们可以这样处理矛盾://例子2 class A{ protect function add($a, $b){ re
stone_
·
2015-11-13 18:00
php设计模式
的六大原则(二):开闭原则
开闭原则应该是六个原则中概念最模糊的一个,例子也是和其他的原则相似的,所以只引用几句比较一针见血的说明:用抽象构建框架,用实现扩展细节。单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。所有的原则只为实现一
stone_
·
2015-11-13 17:00
php设计模式
的六大原则(一):单一职责原则
dial(); //拨号 echo $modem -> hangup(); //挂断 echo $modem -> send(); //发送 echo $modem -> receive(); //接收 } } //如果要修改接收方式的话,所有依赖modem的模块都要修改了 interface IConnection{ public function dial(); public fu
stone_
·
2015-11-13 16:00
php设计模式
——UML类图
前言 用php开发两年多了,准备也写一下平时常用的设计模式,都是基于自己的实践经验,当然,用设计模式之前首先要看懂设计模式,因此这里首先讲解一下UML类图。通过UML类图,能更好的和大家交流,也能很容易就表达出自己的设计想法 UML Unified Modeling Language(UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统
·
2015-11-13 13:33
设计模式
PHP设计模式
——策略模式
概述 策略模式属于对象的行为模式。其用意是针对一组算法,将每个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化 UML图 策略模式中主要角色 这个模式设计到三个角色: 环境角色(Context):持有一个Strategy的引用 抽象策略(Strategy)角色:这是一个
·
2015-11-13 02:02
设计模式
php设计模式
-单例模式
<?php /* 单例模式:保证一个类仅有一个实例 */ class Singleton { static private $_instance = null; private function __construct() { } static public function getInstance()
·
2015-11-13 01:11
设计模式
PHP设计模式
之装饰者模式
<?php /* 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 */ header("Content-type:text/html; charset=utf-8"); //使用继承进行组合 abstract class MessageBoardHandler { public function
·
2015-11-12 23:28
装饰者模式
php设计模式
之观察者模式
观察者模式:能够更便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能性。 利用这种模式可以方便地创建一个对象(观察者),其可以用来“监视”另一个对象(被观察者)的状态。这样,就可以在不必完全重构某些核心对象(可以理解成被观察者)的情况下,向现有的应用层序填加额外的功能。 即是动态创建对象(观察者),根据被观察者的状态动态调用观察者动作行为。 1. 被观察者 添加观察者,(a
·
2015-11-12 23:24
观察者模式
PHP设计模式
之策略模式
前提: 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查 找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以 将这些查找算法封装在一个统一的方法中,通过if…else
·
2015-11-12 22:04
设计模式
php设计模式
——单例模式
单例模式概念 单例模式是指整个应用中类只有一个对象实例的设计模式。 单例模式的特点 一个类在整个应用中只有一个实例 类必须自行创建这个实例 必须自行向整个系统提供这个实例 php中使用单例模式的原因 我用php大部分操作都是和各种数据库打交道,包括mysql,redis,memcache等各种关系型和非关系型数据库,所以一个应用中会 存在大量连接数据库的操作,如果
·
2015-11-12 20:13
设计模式
PHP设计模式
系列 - 观察者模式处理订单(异步操作附加功能)
观察者模式 观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性。观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码耦合。 场景设计 设计一个订单类 订单创建完成后,会做各种动作,比如发送EMAIL,或者改变订单状态等等。 原始的方法,是将这些操作都写在create函数里面 但是随着订单创建类的越来越庞大,这样的操
·
2015-11-12 19:58
观察者模式
php和java静态变量用途的思考
PHP 单例模式解析和实战
php设计模式
——单例模式 php static 与 java static 变量生命周期的不同 PHP 单例模式解析和实战 http://www.php100.com
·
2015-11-12 18:09
java
php设计模式
2策略模式
<?php /** ****************************************************** * 策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中, * 从而使得它们可以相互替换。策略模式使得算法可以 在不影响到客户端的情况下发生变化。 * 策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策
·
2015-11-12 10:05
设计模式
php设计模式
1单例模式
之前很长时间之前就学习过设计模式,但是因为在实践中很少应用,所以忽略了,但现在却意识到设计模式很重要的,程序设计简介高效冗余性代码少。 今天开始把前几天学习的几个设计模式整理一下,首先当然是单例模式。 单例模式: 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务; 单例
·
2015-11-12 10:04
设计模式
PHP设计模式
之:外观模式
外观模式: 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用; 外观模式又称为门面模式,它是一种对象结构型模式。 模式结构: 外观模式就是让client客户端以一种简单的方式来调用比较复杂的系统来完成一件事情; 目的: 1、为一个复杂子系统提供简单的接口
·
2015-11-11 17:29
设计模式
PHP设计模式
之:单例模式
前 些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理 解了,设计模式这些的花点心思基本的是能够理解的,当然要想很好的运用到项目上也是需要一定的实践,不能只是知道了解,或者说的是很厉害很懂的,一到要实 际操作就不行了,废话就不多说了,PHP战线上的同志们都加油吧; 单例模式(职责模式): 简单的说,一
·
2015-11-11 17:27
设计模式
php设计模式
-策略模式
php设计模式
-策略模式 1.概念: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。
·
2015-11-11 17:26
设计模式
php设计模式
-观察者模式
/\*\* *3.1
php设计模式
-观测者模式 *3.1.1概念:其实观察者模式这是一种较为容易去理解的一种模式吧,它是一种事件系统,意味着 * 这一模式允许某个类观察另一个类的状态
·
2015-11-11 17:26
观察者模式
PHP设计模式
之:建造者模式
建造者模式: 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式; 目的: 消除其他对象复杂的创建过程 结构图: 优点: 建造者模式可以很好的将一个对象的实现与相关的“业务”逻辑分离开来,从而可以在不改变事件逻辑的前提下,使增加(或改变)实现变得非常容易。 缺点: 建造者接口的修改会导致所有执行类的修改。 以下情况应当使用建造者模式:
·
2015-11-11 17:25
建造者模式
PHP设计模式
之:工厂模式
工厂模式: 由工厂类根据参数来决定创建出哪一种产品类的实例; 工厂类是指包含了一个专门用来创建其他对象的方法的类。所谓按需分配,传入参数进行选择,返回具体的类。工厂模式的最主要作用就是对象创建的封装、简化创建对象操作。 简单的说,就是调用工厂类的一个方法(传入参数)来得到需要的类; 代码实现: 示例1(最基本的工厂类): 1 class MyObject {
·
2015-11-11 17:24
设计模式
php设计模式
之简单工厂模式
①抽象基类:类中定义抽象一些方法,用以在子类中实现 ②继承自抽象基类的子类:实现基类中的抽象方法 ③工厂类:用以实例化所有相对应的子类 /** * * 定义个抽象的类,让子类去继承实现它 * */ abstract class Operation{ //抽象方法不能包含函
·
2015-11-11 16:17
简单工厂模式
php设计模式
之单例模式
单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式的要点有三个: 一是某个类只能有一个实例; 二是它必须自行创建这个实例; 三是它必须自行向整个系统提供这个实例。 为什么要使用PHP单例模式 1. php的应用主要在于数据库应用, 一个应用中会存在大量的数据库操
·
2015-11-11 16:14
设计模式
PHP设计模式
之策略模式
策略模式(Strategy Pattern) 策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。 策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。 策略模式的三个角色:(能看懂就好) 1.抽象策略角色 2.具体策略角色 3.环境角色(对抽象策略角色的引用) 实现步骤:
·
2015-11-11 16:14
设计模式
五种常见的
php设计模式
设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说
·
2015-11-11 13:06
设计模式
php设计模式
之迭代器模式
今天的
PHP设计模式
系列的主角是迭代器(Iterator)模式,迭代器模式提供了抽象:位于对象图不明部分的一组对象(或标量)集合上的迭代。
·
2015-11-11 11:49
迭代器模式
老师私房菜之如何学得比别人更高效
对LAMP技术有着深入的研究,在
PHP设计模式
,框架以及MySQL技术上有
·
2015-11-11 10:06
[php]
php设计模式
Mediator (中介者模式)
1 <? php 2 /* * 3 * 中介者模式 4 * 5 * 用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 6 */ 7 abstract class Mediator 8 { 9 abstract public function send( $message , $co
·
2015-11-11 08:54
media
php设计模式
之单例、多例设计模式
单例(Singleton)模式和不常见的多例(Multiton)模式控制着应用程序中类的数量。如模式名称,单例只能实例化一次,只有一个对象,多例模式可以多次实例化。 基于Singleton的特性,我们经常用Singleton配置应用程序并定义应用程序中可能随时访问的变量。但有时并不推荐使用
·
2015-11-11 07:22
设计模式
PHP设计模式
之观察者模式(Observer)
PHP设计模式
之观察者模式(Observer)实例详解。
·
2015-11-11 06:14
observer
:
php设计模式
Mediator (中介者模式)
1 <?php 2 /** 3 * 中介者模式 4 * 5 * 用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 6 */ 7 abstract class Mediator 8 { 9 abstract public function send($message,$colleague); 10
·
2015-11-11 06:33
media
PHP设计模式
之:单例模式
1 <?php 2 3 //单例模式 4 class Database{ 5 private $_db; 6 public static $_instance; 7 8 //private的构造函数,防止被实例化 9 private function __construct(){ 10 $this->
·
2015-11-11 04:07
设计模式
php设计模式
之单例模式
单例模式(职责模式):一个对象仅负责一个特定的任务;单例类:1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化; 单例模式(职责模式):一个对象仅负责一个特定的任务; 单例类: 1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例
·
2015-11-11 03:16
设计模式
php设计模式
:工厂模式
php设计模式
:工厂模式 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。
·
2015-11-11 01:19
设计模式
php设计模式
笔记:单例模式
php设计模式
笔记:单例模式 意图: 保证一个类仅有一个实例,并且提供一个全局访问点 单例模式有三个特点: 1、一个类只有一个实例2、它必须自行创建这个实例3、必须自行向整个系统提供这个实例
·
2015-11-11 01:19
设计模式
PHP设计模式
之:单例模式
单例模式(职责模式):简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;单例类:1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;2、拥有一个保存类的实例的静态成员变量3、拥有一个访问这个实例的公共的静态方法(常用getInstance()方法进行实例化单例类,通过insta
guoding
·
2015-11-10 14:00
php设计模式
之命令模式
命令模式:将一个请求封装为一个对象,从而你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销操作。 命令类: 1.命令角色:声明了一个给所有具体命令类的抽象接口。这是一个抽象角色。 2.具体命令角色:定义一个接受者和行为之间的弱耦合;实现execute方法,负责调用接受的相应操作。execute()方法通常叫做执行方法 3.客户角色:创建一个具体命令对象并确定
·
2015-11-09 14:49
设计模式
php设计模式
之观察者模式
观察者模式: 定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。 观察者类: 1.抽象主题角色:主题角色将所有对观察者对象的引用保存在一个集合中,每个主题可以任意多个观察者。抽象主题提供了增加和删除观察者对象的接口。 2.抽象观察者角色:为所有的具体观察者定义一个接口,在观察的主题发生改变时更新自己 3.具体主题角色:存储相关状态到
·
2015-11-09 14:48
观察者模式
php设计模式
之单例模式
单例模式:简单的说,一个对象只负责一个特定的任务。 单例类: 1.构造函数需要标记为private,单例类不能再其他类中实例化,只能被其自身实例化 2.拥有一个保存类的实例静态成员变量 3.拥有一个访问这个实例的公共的静态方法。[常用getInstance()方法进行实例化单例类,通过i
·
2015-11-09 14:47
设计模式
php设计模式
之工厂模式
工厂模式:由工厂类根据参数来决定创建出哪一种产片类的实例 工厂类:一个专门用来创建其他对象的方法类。即按需分配,传入参数进行选择,返回具体的类 作用:对象创建的封装、简化创建对象的操作,即调用工厂类的一个方法来得到需要的类 补充: 1.主要角色:抽象产品(Product)、具体产品(Concrete Product)、抽象工厂角色(Creator) 2.优缺点 &nb
·
2015-11-09 14:47
设计模式
php设计模式
之Proxy(代理模式)和Facade(外观)设计模式
Proxy(代理模式)和Facade(外观)设计模式它们均为更复杂的功能提供抽象化的概念,但这两种实现抽象化的过程大不相同 Proxy案例中,所有的方法和成员变量都来自于目标对象,必要时,该代理能够对它所传递的数据进行修改或检查魔术方法使得Proxy的实现变的简单,Proxy模式的一类应用时用来记录方法的访问信息还可以利用Proxy的类确定代码的范围或调试程序中存在的问题 <?php
·
2015-11-08 17:33
Facade
PHP设计模式
之观察者模式
全文地址:http://www.ihuxu.com/static/archives/20130826180343.html 功能描述:观察者设计模式能够更便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能性。也就是说,利用这种模式可以方便地创建一个对象(观察者),其可以用来“监视”另一个对象(被观察者)的状态。这样,就可以在不必完全重构某些核心对象(可以理解成被观察者)的情况下
·
2015-11-08 15:21
观察者模式
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他