
设计模式
Mush1
这个作者很懒,什么都没留下…
展开
-
设计模式 适配器模式
适配器方法其实就是在原有接口外再套上一个接口,让用户可以通过新的接口使用老接口的方法 个人理解就是将原接口的实现类依赖注入到新接口的实现类中,然后在新接口实现类的方法中直接调用老接口实现类的方法。 //目标角色 interface Target { public function simpleMethod1(); public function simpleMethod2(); } //源角色 class Adaptee { publi原创 2020-08-24 20:22:55 · 97 阅读 · 0 评论 -
设计模式 观察者
观察者模式主要以以下几个结构组成 1.主题接口 1.1 主题中包含观察者的注册 1.2 观察者的注销 1.3 通知所有注册的观察者要进行的动作(例如updating,creating等 2.观察者接口 2.1 观察者的动作(例如updating,creating等 3.主题的实现 3.观察者的实现 具体逻辑为:向主题内部观察者数组注册观察者或者移除观察者,然后执行主题内的notify方法。notify方法内遍历注册好的观察者,让这些观察者都做出相应的行为(update) (其实有点像老师(主题)布置作业,现原创 2020-08-24 17:01:10 · 122 阅读 · 0 评论 -
设计模式 工厂模式
简单工厂模式主要由接口、接口的实现、工厂类这三个组成。 使用者通过调用工厂类的create方法,并传入不同的变量来选择所需要生成的类的实例(之前接口的实现) <?php // 定义一个统一的接口 interface InterfaceShape { function getArea(); function getCircumference(); } /** * 接口的实现_矩形 */ cla原创 2020-08-24 16:03:29 · 79 阅读 · 0 评论 -
设计模式 单例
单例模式:只实例化一次,内部实例化,对外只有一个开放方法,只能通过调取该方法进行调取实例化对象。数据库连接 单例为了满足上诉内容,要满足以下条件 利用private构造函数使单例类不能被其他类所实例化 设置static变量$instance,以达到长久保存实例的效果(PHP和JAVA不同,通常情况下static变量的生命周期只有一个请求周期) 设置公有的静态方法getInstance()以便获取实例 单例模式又分为懒汉模式和饿汉模式,懒汉模式中,实例化的过程在getInstance中,只有调用这个方法的原创 2020-08-24 15:48:33 · 86 阅读 · 0 评论