行为型模式
文章平均质量分 73
非凡的小笨鱼
这个作者很懒,什么都没留下…
展开
-
一起走进迭代器模式
目录一.介绍二.UML类图三.示意代码四.使用场景五.在JDK中的应用 一.介绍 迭代器模式(Iterator Pattern)属于行为型模式。提供一个对象来顺序访问容器对象中的一系列数据,目的是在不暴露容器对象内部结构的情况下,让外部代码透明地访问容器的内部数据 二.UML类图 三.示意代码 业务代码 //抽象迭代器 public interface Iterator { boolean hasNext(); Object next(); } //抽象容器 interface ICo原创 2022-01-09 20:23:21 · 215 阅读 · 0 评论 -
一起走进观察者模式
目录一.介绍二.场景约束三.UML类图四.示意代码(版本一)五.示意代码(版本二)六.观察者模式与发布订阅模式七.优点八.在JDK中的典型应用 一.介绍 观察者模式(Observer Pattern)属于行为型模式。定义了对象之间的一对多依赖,让多个观察者同时监听某一个主题对象,类似于广播机制,只需要分发广播,感兴趣的对象自动接收该广播。我们平常所说的Observer、Listener、Hook、Callback都和这个模式有关 二.场景约束 小孩(Baby)哭的时候会通知到爸爸(Dad)和妈妈(Mum),原创 2022-01-09 15:59:19 · 346 阅读 · 0 评论 -
一起走进状态模式
一.介绍 状态模式(State Pattern)属于行为型模式。当控制一个对象状态转换的条件表达式过于复杂时,把相关判断逻辑提取出来,用各个不同的类进行表示,系统处于哪种情况,直接使用相应的状态类对象进行处理。这样能把原来复杂的逻辑判断简单化,消除了if-else、switch-case等冗余语句,代码更有层次性,并且具备良好的扩展力 ...原创 2022-01-07 21:22:52 · 531 阅读 · 0 评论 -
一起走进责任链模式
一.介绍 责任链模式(Chain of Responsibility Pattern)属于行为型模式。该模式为请求创建了一个接收者对象的链,链中的每一个节点处理自己范围内的逻辑,如果一个节点不能处理该请求,那么它会把相同的请求传给下一个节点,依此类推。本文介绍自关联和非自关联两种实现方式 二.场景约束 客户端请求要在通过请求频率校验、登录认证、访问权限校验后,才能执行接下来的业务逻辑 二.UML类图 自关联 Handler类本身封装了链条的下一个节点 非自关联 采用ArrayList维护链条 四.自关原创 2022-01-05 21:14:33 · 430 阅读 · 0 评论 -
一起走进命令模式
目录一.介绍二.场景约束三.UML类图四.示意代码五.优点六.在JDK中的应用 一.介绍 命令模式(Command Pattern)属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令,执行顺序是调用者→命令→接收者,实现调用者(Invoker)与接收者(Receiver)解耦 二.场景约束 设计一个文本编辑器(TextField),支持复制、插入以及撤销操作 三.UML类图 四.示意代码 业务代码 //抽象命令 p原创 2021-12-28 21:08:27 · 323 阅读 · 0 评论 -
一起走进策略模式
目录一.介绍二.场景约束三.UML类图四.具体代码五.使用场景六.优缺点七.在Spring中的应用 一.介绍 策略模式(Strategy Pattern)属于行为型模式。定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户 策略模式的重心不是如何实现算法,而是如何组织这些算法,从而让程序结构更加灵活,具有更好的扩展性 二.场景约束 植物大战僵尸是一款极具策略性的游戏,里面僵尸的种类特别多,不同僵尸的攻击方式可能不一样,甚至同一种僵尸的攻击方式都是可以变化的。比如原创 2021-12-26 18:20:26 · 467 阅读 · 0 评论 -
一起走进模板方法模式
目录一.介绍二.意图三.UML类图四.具体代码五.在JDK中的典型应用六.在Spring中的应用七.设计思想 一.介绍 模板方法模式(Template Method Pattern)属于行为型模式。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 二.意图 基本算法可以固定,其中部分细节可以变化 方便的复用逻辑 控制子类只允许在特定的钩子点进行扩展 三.UML类图 四.具体代码 业务代码 public abstract cla原创 2021-12-25 20:20:33 · 210 阅读 · 0 评论