设计模式
文章平均质量分 61
ivhong
时代脉搏,趣味横生,互联互往,动力无穷
展开
-
php模式之装饰器模式2
原文来自(大胖博客)在上一篇文章中,介绍了如何在代码架构之初,为了以后的扩展方便做的考虑,那么在现实中大部分的情况不是如此,那么我们需要重构这块么?不一定,今天我们使用另一种方式来实现装饰器。假设现在我们处在产品的第二个阶段,有下面第一阶段代码来实现需求[php]class User{ function loadData(){ $res = 'load ...' ...原创 2019-11-28 11:27:54 · 240 阅读 · 0 评论 -
php模式之装饰器模式1
原文来自(大胖博客)装饰器模式,也成修饰器模式。目的是给现有的对象增加或修改成新逻辑。说人话就是不改变对象的情况下,给对象的某个操作增加前置操作或者后置操作(当然也有可能改变操作的逻辑)。举个栗子:我们在操作数据库的时候会从数据库拉取数据,拉取数据的动作是 loadData,那么就可以针对loadData操作进行“装饰器”的封装。1. 实现loadData接口,接口这里的目的是所有加载数...原创 2019-11-28 09:25:10 · 237 阅读 · 0 评论 -
浅谈观察者设计模式
记得刚学joomla的时候, 在某些教学网站上提到joomla的代码设计模式是是"观察者设计模式", 那是我第一次听到"设计模式"的概念.随后就wiki了一下这个模式.可能当时对面向对象的编程方式的认识只是停留在创建一个 class, 然后 new 它. 于是怎么读那段文字也不明所以. 总好像明白了, 但是又什么都不明白. 现在回过头来看看这个模式. 终于找到了理解这个模式的接入点. 下面我和大家原创 2013-03-28 14:23:26 · 1307 阅读 · 0 评论 -
yii2 随笔(七)依赖注入——(2)php依赖注入的简单实现
原文地址:http://ivhong.com/?p=115(ivhong.com 是我的博客主址)前面我们知道了问题所在,那么PHP是怎么解决这个办法的呢?因为是yii2,所以我们用yii2的方式简单介绍一下,我把yii2的核心代码整合了一下,来说php实现依赖注入的过程。在使用过yii2开发的同学,对Yii::createObject不陌生,他就是依赖注入的一个“入口”,我把它提出来原创 2016-03-28 17:14:17 · 1170 阅读 · 0 评论 -
yii2 随笔(七)依赖注入——(3)yii2的依赖注入
原文地址:http://ivhong.com/?p=124(ivhong.com 是我的博客主址)yii2的依赖注入的核心代码在 yii\di,在这个包(文件夹)下面有3个文件,分别是Container.php(容器),Instance.php(实例),ServiceLocator(服务定位器),现在我们讨论一下前两个,服务定位器可以理解一个服务的注册表,这个不影响我们讨论依赖注入,它也是原创 2016-03-28 17:20:33 · 1917 阅读 · 1 评论 -
yii2 随笔(七)依赖注入——(4)服务定位器
原文地址:http://ivhong.com/?p=135(ivhong.com 是我的博客主址)服务定位器定位器是依赖注入的一种解决方式,它包含依赖注入,在解决了依赖注入后,如果服务使用者和服务提供者不是用一个人,那么使用者要了解提供服务的必须参数,这样才能保证依赖的正确性,这就耦合了使用者和提供者,服务定位器就是解耦这部分的,服务提供者在 ServiceLocator 中注册服务(同时原创 2016-03-28 17:24:12 · 933 阅读 · 0 评论