设计模式
文章平均质量分 51
小菜鸟czh
这个作者很懒,什么都没留下…
展开
-
PHP之Trait详解
php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化如下代码实例:<?phptrait Dog{ public $name="dog"; public f...转载 2020-02-25 09:57:53 · 231 阅读 · 0 评论 -
ArrayAccess用法详解
自动加载配置用在Laravel的源码当中,作者多次使用到了PHP SPL中的ArrayAccess接口,那么这个ArrayAccess接口到底有什么作用呢?我会用一个简单的例子跟大家说明。请看下面的这段代码,Foo类实现了ArrayAccess接口中的四个方法,请仔细看这些方法内部的实现代码。看到了吗?这些代码是干什么用的,回答就是这些代码没有用,随便你怎么写,你想写什么就写什么。接口中这...原创 2019-12-05 16:45:25 · 693 阅读 · 0 评论 -
迭代器
php提供了一个语法结构用于遍历数组和对象foreach遍历数组用法1 <php2 //定义一个数组3 $arr = array("1","2","3","4","5");4 //用foreach遍历5 foreach($arr as $key => $value){6 echo '键名:'.$key.'键值:'.$value."<br>";...原创 2019-12-05 14:56:43 · 218 阅读 · 0 评论 -
装饰器模式
1.装饰器模式(Decorator),可以动态地添加修改类的功能2.一个类提供了一项功能,如果要在修改并添加额外的功能,传统的编程模式,需要写一个子类继承它,并重新实现类的方法3.使用装饰器模式,仅需在运行时添加一个装饰器对象即可实现,可以实现最大的灵活性<?php/** * 输出一个字符串 * 装饰器动态添加功能 * Class EchoText */class E...原创 2019-12-05 10:45:49 · 172 阅读 · 0 评论 -
观察者模式
一.观察者模式特点解释:观察者模式(Observer),当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新。场景:一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻辑,当更新得逻辑增多之后,代码会变得难以维护.这种方式是耦合的,侵入式的,增加新的逻辑需要改变事件主题的代码,而观察者模式实现了低耦合,非侵入式的通知与更新机制二...转载 2019-12-02 17:04:50 · 180 阅读 · 0 评论 -
数据对象映射模式
【数据对象映射模式】是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作。例如在代码中 new 一个对象,使用数据对象映射模式就可以将对象的一些操作比如设置一些属性,就会自动保存到数据库,跟数据库中表的一条记录对应起来。【代码实现】在代码中实现数据对象映射模式,我们将实现一个 ORM(对象关系映射Object Relational Mapping) 类,将复杂的...转载 2019-12-02 15:23:08 · 274 阅读 · 0 评论 -
适配器模式
适配器模式(Adapter Pattern):将某个对象的接口适配为另一个对象所期望的接口。属于结构型设计模式。(一)为什么需要适配器模式1,某个操作数据库的有两套不同的数据库操作方法,我们通过适配器统一成一个接口。例如,我们待会把mysql和mysqli统一成一个接口。2,我们有多套数据库对应了多种数据库操作,例如MySQL,SqlServer,Oralce,Redis都有对应的操作...转载 2019-11-29 14:22:49 · 97 阅读 · 0 评论 -
注册器模式
工厂模式和策略模式有两种方式去调用方法,一种是用工厂方法调用,一种是单例调取实例,那实际上这两种都有一个缺点(可能也不应该称为缺点,也可叫不足),有一个比较好的方法就是已经创建好的这个对象,直接去取这个对象,这个就是注册器模式。顾名思义,注册器模式就是将对象注册到全局树上,那么他就可以被任意地方访问。直接上代码: 1 2 3 4 5 6...转载 2019-11-29 11:39:48 · 645 阅读 · 0 评论 -
工厂模式 PHP简单工厂模式、工厂方法模式和抽象工厂模式比较
php工厂模式概念:工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。根据抽象程度不同,php工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式简单工厂模式: 1 2 3 4 5 6 7 ...转载 2019-11-29 11:00:42 · 122 阅读 · 0 评论