设计者模式
文章平均质量分 60
@沐帆
这个作者很懒,什么都没留下…
展开
-
设计者模式(四)----命令模式
简介 :把一套请求封装为一个对象优点 : 解耦行为请求和行为实现 <一般情况下行为请求和行为实现都是一种紧耦合关系>缺点 : 当命令增加时 在项目中会有很多命令类 直观性不高举例 :现在我们要实现一个遥控器 遥控电灯开关首先 我们需要一个电灯类 对象//这里做一个简单实现public class Light { public void on(){ System.out.println("开灯"); } pub原创 2021-01-07 14:25:23 · 202 阅读 · 0 评论 -
设计者模式(三)----装饰者模式
介绍 :动态扩展对象功能 相比继承而言更加灵活 可以替代继承 其装饰者是依赖于被装饰者而存在的注意装饰者和被装饰者实现一个共同的接口 目的是为了保证其类型一致优点 : 解耦了装饰者和被装饰者的关系 易扩展类型功能缺点 : 拥有非常多的小类<被装饰者> 增加系统复杂度以一个咖啡馆为例在咖啡馆有牛奶和咖啡2种饮料<可以被看成是被装饰者> 还有配料可以加糖 蜂蜜 柠檬如此 有的客户需要咖啡加糖 有的需要牛奶加蜂蜜加糖等等 如果使用原创 2021-01-06 14:18:11 · 138 阅读 · 0 评论 -
设计者模式(二)----观察者模式
介绍 :主题和观察者是一对多的关系 建立一套触发机制 当主题数据发生改变时 通知观察者数据已更新缺点 : 1.当观察者多时 通知到所有观察者的时间会变长 2.观察者并不知道主题是如何变化的 仅仅知道主题发送了改变类图如下这里我们以报社为例 报社是主题 订阅报纸的是观察者我们如果需要报纸 就需要到报社去订阅 此时在代码里 需要一个注册方法把观察者注册进去 当我们订阅一段时间后突然不想看了 就需要告诉报社 以后不要继续给我送报纸了 那么使用代码实现就是原创 2021-01-05 10:01:22 · 148 阅读 · 0 评论 -
设计者模式(一)----策略模式
介绍 :在一个项目中存在大量相似的类 区别在于其具体实现 此时 可以使用策略模式来吧这些类封装为一个策略<或者说是算法> 以便进行灵活调用优点 : 把程序中需要修改的代码单独分离 提高的程序扩展性缺点 : 算法类会随着程序的扩展而越来越多 并且所有算法策略都需要对外暴露 以便调用对应算法接下来使用一个例子来进行详细说明 :我们现在有一些鸭子 他们会游泳 会叫 … … 接下来我们使用代码进行实现 如下图如上这样定义超类实现基本属性 其他不同原创 2021-01-04 14:37:29 · 187 阅读 · 3 评论