
大明湖畔的设计模式们
艾克里斯伦
这个作者很懒,什么都没留下…
展开
-
结构型模式-桥接模式Bridge
桥接模式:将抽象部分与实现部分分离,使它们都可以独立的变化。上栗子-创建一个继承与circle的redcircle和greencircle类,正常情况下的写法class shape{ public function draw();}class redcircle extends shape{ function draw(){ echo 'draw red circle';原创 2018-01-12 11:34:17 · 345 阅读 · 0 评论 -
创建模式-单例模式
单例模式可以确认该对象只有一个实例存在,对于某些创建比较复杂或者是系统核心的类,不易或不能多次使用new创建,应设置为单例类。//单例类class Singleton{ private static $instance = null; //将构造类设置为私有,防止多次创建 private function Singleton(){} public static fu原创 2017-12-28 14:35:35 · 241 阅读 · 0 评论 -
结构型模式-适配器模式
适配器模式用于适配两个不同接口,结合两个独立接口的功能。 何时使用: 1. 系统需要使用现有的类,而此类的接口不符合系统的需要。 2. 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。 3. 通过接口转换,将一个类插入另一个类系中。(比如老虎和飞禽,现在多了一个飞虎,在不增加实体的需求下,增原创 2018-01-04 09:57:08 · 231 阅读 · 0 评论 -
创建模式-工厂模式
普通工厂模式首先我们创建继承于animal的猫狗类,使用普通工厂模式,通过制定传入值的不同,确定调用那种具体实现类。<?php//抽象类abstract class animal{ public abstract function eat();}//具体实现类class cat extends animal{ public function eat() {原创 2017-12-28 10:47:54 · 302 阅读 · 0 评论 -
创建模式-构造者/生成器模式(Builder)
生成器模式,又称构造者模式,用于分离复杂对象的构建和表示,通过同样的构建过程创建不同的表示。实现基本部件不变,组合方式改变。举个例子,杯子由杯身和杯盖组成,有的杯盖是玻璃的,有的是陶瓷的。首先构造cover父类,及两个继承类。创建cupbody类。class cover{ protected $type; public function toString(){ ret原创 2017-12-29 15:51:34 · 234 阅读 · 0 评论 -
设计模式-GoF, SOLID和陈年往事
设计模式的历史可以从1977年开始说起,从一个叫Christopher Alexander的人说起。这位仁兄在1977年提出了架构概念,出了一本叫A Pattern Language 的有着世界级的影响的书。1987年,两位美国大牛,把这一概念引入了计算机编程,其中一位写出了第一版的wiki。此后,被称作Gang of Four(GoF)的四个人,在1994年合作出版了Design Patte原创 2017-12-22 17:01:44 · 583 阅读 · 0 评论