设计模式
文章平均质量分 62
你去了哪里
这个作者很懒,什么都没留下…
展开
-
责任链模式
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这些链传递该请求,直到有一个对象处理它为止。 /** * 定义抽象责任链类,使用$successor保存后继链条 * Class Handler * @package Phinex\DesignMode\DutyChain */ abstract class Handler { protected $successor; public function setSuccessor(原创 2022-02-08 20:36:54 · 138 阅读 · 0 评论 -
观察者模式
观察者模式:当一个对象的状态发生变化时,依赖它的对象全部会收到通知并自动更新。 场景:一个事件发生后,要执行一连串的更新操作,传统的编程方式就是在事件的代码之后直接加入处理逻辑,当更新的逻辑增多之后,代码会变得难以维护,这种方式是耦合的,增加新的逻辑需要修改事件主体代码。观察者模式实现了低耦合、非嵌入式的通知与更新机制。 interface Observer { public functi...原创 2019-05-22 07:41:18 · 66 阅读 · 0 评论 -
策略模式啊
将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,这种模式就是策略模式。也就是说策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,策略模式让算法独立于使用它们的客户而独立变化,即封装变化的算法。 适用场景: 1:多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。 2:需要在不同情况下使用不同的策略。 3:对客户隐藏具体策略的实现细节,彼此完全独立。 /** * 抽象策略角色--算法接口 * Interface Strategy原创 2019-05-20 11:46:35 · 68 阅读 · 0 评论