摘要: 1. 策略模式 策略模式,又称为政策模式,属于 行为型的设计模式 定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化 工厂模式属于创建型模式,用来创建对象,返回new出来的对象。调用对象的方法是由客户端来决定 策略模式通过执行上下文,将要调用的函 阅读全文
posted @ 2020-12-29 21:37 linsonga 阅读(73) 评论(0) 推荐(0)
摘要: 1. 命令模式 命令模式,也称为动作或者事务模式 如用餐厅举列,菜单是这个实际的命令,服务员是这个命令的发送者,而厨师是这个命令的接收者。 那么,这个模式解决了什么呢?当你要修改菜单的时候,只需要和服务员说就好了,她会转达给厨师,也就是说,我们实现了顾客和厨师的解耦。也就是 调用者与实现者的解耦。 阅读全文
posted @ 2020-12-29 20:30 linsonga 阅读(63) 评论(0) 推荐(0)
摘要: 1. 原型模式 原型模式又称克隆模式 对对象进行克隆,但是又把被克隆的对象称之为最初的原型,或者实例化过后的对象 2. 实列 interface ServiceProvicer { public function getSystem(); } class ChinaMobile implements 阅读全文
posted @ 2020-12-29 17:28 linsonga 阅读(64) 评论(0) 推荐(0)
摘要: 1. 迭代器模式 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示 2. 实列 interface MsgIterator { public function First(); // 返回第一个元素 public function Next(); // 返回下一个元素 pu 阅读全文
posted @ 2020-12-29 16:16 linsonga 阅读(114) 评论(0) 推荐(0)
摘要: 1. 观察者模式 定义对象一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者和被观察者都是抽象耦合的 建立一套触发机制 参考链接 2. 类图 3. 实列 interface Observer { // 定义观察者接口,里面有 update 方法 publ 阅读全文
posted @ 2020-12-29 12:15 linsonga 阅读(55) 评论(0) 推荐(0)