行为型设计模式
设计模式
明日晴空
加油啦~
展开
-
设计模式 -策略模式(九)
一、什么是策略模式 将一组特定的业务行为或算法封装成类,可以在运行时更改,以适应某些特定上下文环境,解决各种if else判断,这种模式就是策略模式; 注:如果策略超过4个,考虑用混合模式; 栗子:旅行出游,选择交通工具,每种交通工具都是一种策略 二、策略模式作用 算法可以自由切换,避免使用多重if…else 条件盘点,拓展性好; 三、具体实现 // 交通策略接口 interface TrafficStrategy { public function speed(); public function c原创 2021-05-18 09:13:37 · 157 阅读 · 0 评论 -
设计模式 -迭代器模式(八)
一、什么是迭代器模式 在不需要了解内部实现的前提下,遍历一个聚合对象内部元素 二、 迭代器作用 相比传统的编程模式,迭代器可以隐藏遍历元素的所需操作 三、具体实现 class AllUser implements \Iterator // 继承框架自带迭代器基类 { protected $index = 0; protected $data = []; protected $ids; public function __construct() {原创 2021-05-14 09:36:53 · 170 阅读 · 0 评论 -
设计模式 -观察者模式(七)
一、什么是观察者模式 当一个对象状态发生改变时,依赖它的对象会全部收到通知,并自动更新 二、观察者模式作用 实现低耦合,非侵入式的通知与更新机制,能更好的维护代码 三、具体实现 // 基类 abstract class EventGenerator { private $observers = []; public function addObserver(Observer $observer) // 添加观察者 { $this->observers[] = $observer }原创 2021-05-13 17:35:10 · 116 阅读 · 0 评论