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