设计模式
设计模式
极梦网络无忧
我想我可以
展开
-
设计模式——策略模式
一、策略模式策略模式(Strategy)给我的感觉就是对if-else、switch-case这类多分支结构的解耦,把每一种情况封装成一种策略,实现控制器代码的简化。这种设计模式是对行为、算法的包装,把同一个抽象方法指派给不同的子类对象实现。工厂模式更像是对对象的管理,而策略模式是对行为的管理适用场景:1、 多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。2、 需要在不同情况下使用不同的策略(算法),或者策略还可能在未来用其它方式来实现。3、 对客户原创 2020-07-14 08:01:13 · 221 阅读 · 0 评论 -
设计模式——观察者模式
简单粗暴的说,就是对象1发生变化的时候,对象2,对象3跟着变化所以有对象1,对象2,对象3,观察者对象(用来增加观察者和通知观察者的)观察者模式 当一个对象的状态发生改变时,他的对象会全部收到通知,并自动更新场景:当一个事件发生后,要执行一连串更新操作,传统的编程方式,就是在事件的代码之后直接加入处理逻辑,当更新逻辑增多之后,代码变得难以维护,这种方式是耦合式的,侵入式的,增加新的逻辑需要改变事件主题的代码观察者模式实现了低耦合,非侵入式的通知与更新//建立抽象观察者类abstract clas原创 2020-07-13 23:06:42 · 185 阅读 · 0 评论 -
设计模式——单例模式
我呢,就是简单粗暴,理解为在类的静态方法里面new一个本身类,和定义一个私有静态的状态变量,剩下的不用说了吧一、什么是单例模式作为对象的创建模式,单例模式确保某一个类只有一个实例,并且对外提供这个全局实例的访问入口。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。二、PHP单例模式三要素需要一个保存类的唯一实例的静态成员变量。构造函数和克隆函数必须声明为私有的,防止外部...原创 2020-02-27 10:01:15 · 203 阅读 · 0 评论 -
设计模式——工厂模式
我能就是简单粗暴,理解为品牌下有多个工厂,同样是拿衣服,不同款式的衣服再不同工厂,你只要和品牌说,我要拿衣服(款式)剩下的就不用管理,品牌去处理的例如:interface mysql{ public function connect();} class mysqli2 implements mysql{} class pdo2 implements mysql{}...原创 2020-02-27 09:41:00 · 183 阅读 · 0 评论