
设计模式
horse_xiao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
责任链模式
概述 责任链模式:如果有多个对象都有机会处理请求,责任链可使请求的发送者和接收者解耦,请求沿着责任链传递,直到有一个对象处理了它为止 示例 首先定义一个抽象类用来做接口调用对象 package com.kun.chainofresponsibility.chainms; /** * @author kun * @data 2019/4/1 20:10 */ public abs...原创 2019-07-05 00:44:07 · 129 阅读 · 0 评论 -
策略模式
概述 在策略模式中需要将一个对象的可变属性以接口的形式拆分出来之后通过引入接口实现类来设置该对象的成员方法从而实现插拔式构造 示例 以鸭子为例不同的鸭子声音 与能否飞行是不一样当然还有其它的这里就不多写了 接下来为实现类 接下设置一个抽象类引入该种类下的对象属性以及成员方法-----共有的属性为非静态方法不同的标识为抽象方法这样就可以在他的子类中强制重写该方法 子类通过继承来获得父类...原创 2019-07-02 11:34:31 · 140 阅读 · 0 评论 -
装饰着模式
概述 装饰者模式主要是为了增强原有的方法 在不修改原函数 且避免代码重复性的前提下创造的一种设计模式 增强方法的几种方式 1.修改原有的方法。 弊端 :对于原有的调用可能会产生问题 2.创建该类的子类,在子类的方法中重新实现一遍父类的方法并对该方法进行增强 弊端: 代码复用性太差 3. 装饰者模式 实例 被装饰者 装饰者 感受:与jdk代理的方式差不多 ...原创 2019-07-02 11:30:40 · 128 阅读 · 0 评论 -
观察者模式(消息订阅模式)
概述: 观察者模式(有时又被称为发布(发布 ) - 订阅(订阅)模式,模型 - 视图(查看)模式,源 - 收听者(听众)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。 实例 被监听对象 其中currenConditions时观察对象...原创 2019-07-02 11:20:46 · 458 阅读 · 0 评论 -
命令模式
概述 命令模式简而言之就是以将命令当成对象,控制器通过调用命令对象来完成相应的功能从而达到解耦合的设计。 实例 首先设计你想要操作的实例这里面以radio为例 然后设计通用的命令接口 接下来设计命令对象我在这边设计的为打开和关闭 最后一步则是控制器对象 在该控制器对象中我们可以通过给控制器传入不同的命令对象从而实现了代码的复用。 ...原创 2019-07-02 11:17:11 · 137 阅读 · 0 评论 -
外观模式
概述 外观模式与观察者模式在一定程度上有相通的地方那就是对于命令的封装 ,然而不同的是命令模式是对于单个命令的封装 而外观模式则是将所有命令封装到一个类中提供给外部接口访问 实例 以上为三个机器的实体类包括其中机器的操作函数 接下来将这些实体在一个类中统一调度生成对应的函数对外开放 ...原创 2019-07-02 11:15:04 · 117 阅读 · 0 评论 -
适配器模式
概述 适配器模式就是将两个或者多个具有相同点的对象通过实现同一个接口从而达到能够一个对象的函数能够匹配多个对象 减少开发成本和压力 实例 本实例以鸭子和火鸡作为范本 将火鸡通过鸭子的函数展示出来 首先鸭子的接口 火鸡接口 对象 最后继承鸭子接口 ...原创 2019-07-02 11:00:56 · 139 阅读 · 0 评论 -
模板模式
概述 模板模式主要是用于对某流程进行设置,划分步骤并在超类中对一些公共流程函数进行设置。 实例 以喝茶和泡咖啡为例主要流程有 1.烧水 2.倒入茶叶/倒入咖啡 3.冲水 4.倒入杯子 对于这四个流程来说烧水,倒入被子是同样的操作所以放到同一个超类中实现 并且在超类中规定这四个流程如下所见 ...原创 2019-07-02 10:57:26 · 182 阅读 · 0 评论 -
迭代器模式
概述 迭代器模式主要的思想就是在提供对外访问接口的同时却不提供对外的修改函数。所以在对外提供的接口中引入迭代器接口的实现类(之后数据获取函数没有修改函数) 实例 首先定义一个道菜的实体 接着针对不同的商店设置不同菜单实体类 蛋糕店菜单实体 奶茶点菜单实体 饭店菜单实体 在饭店的菜单设计中由于没有从数组中获取迭代器的api所以我们创建了一个类去实现迭代器接口作为返回对象 最后在对外暴露的接口展...原创 2019-07-02 10:54:26 · 130 阅读 · 0 评论 -
组合模式
概述 组合模式与迭代器模式类似,都是创建一个统一的接口或者父类 并以接口的形式访问集合下的属性,但与迭代器模式不同的是组合模式还提供了对子节点的访问从而实现整个树状接口的遍历 实例 首先统一一个超类 接着各种店的菜单实体 以上与迭代器模式的基本思想一致因为在各自的菜单下没有二级菜单 接下来的菜单实体有二级菜单 最后统一一个对外接口类并对实现遍历过程 ...原创 2019-07-02 10:41:51 · 193 阅读 · 0 评论