java jdk中使用了哪些设计模式_JDK中设计模式的运用:行为型

上篇文章我们了解了JDK中创建型和结构型模式的运用, 那么接着我们一起看下行为型模式。

01

责任链模式

通过把请求从一个对象传递到链条中下一个对象的方式,直到请求被处理完毕,以实现对象间的解耦。java.util.logging.Logger#log()

javax.servlet.Filter#doFilter()

02

命令模式

将操作封装到对象内,以便存储,传递和返回。java.lang.Runnable

javax.swing.Action

03

解释器模式

这个模式通常定义了一个语言的语法,然后解析相应语法的语句。java.util.Pattern

java.text.Normalizer

java.text.Format

04

迭代器模式

提供一个一致的方法来顺序访问集合中的对象,这个方法与底层的集合的具体实现无关。java.util.Iterator

java.util.Enumeration

05

中介者模式

通过使用一个中间对象来进行消息分发以及减少类之间的直接依赖。java.util.Timer

java.util.concurrent.Executor#execute()

java.util.concurrent.ExecutorService#submit()

java.lang.reflect.Method#invoke()

06

备忘录模式

生成对象状态的一个快照,以便对象可以恢复原始状态而不用暴露自身的内容。Date对象通过自身内部的一个long值来实现备忘录模式。java.util.Date

java.io.Serializable

07

空对象模式

这个模式通过一个无意义的对象来代替没有对象这个状态。它使得你不用额外对空对象进行处理。java.util.Collections#emptyList()

java.util.Collections#emptyMap()

java.util.Collections#emptySet()

08

观察者模式

它使得一个对象可以灵活的将消息发送给感兴趣的对象。java.util.EventListener

javax.servlet.http.HttpSessionBindingListener

javax.servlet.http.HttpSessionAttributeListener

javax.faces.event.PhaseListener

09

状态模式

通过改变对象内部的状态,使得你可以在运行时动态改变一个对象的行为。java.util.Iterator

javax.faces.lifecycle.LifeCycle#execute()

10

Spring-涉及到的设计模式汇总

使用这个模式来将一组算法封装成一系列对象。通过传递这些对象可以灵活的改变程序的功能。java.util.Comparator#compare()

javax.servlet.http.HttpServlet

javax.servlet.Filter#doFilter()

11

模板方法模式

让子类可以重写方法的一部分,而不是整个重写,你可以控制子类需要重写那些操作。java.util.Collections#sort()

java.io.InputStream#skip()

java.io.InputStream#read()

java.util.AbstractList#indexOf()

12

访问者模式

提供一个方便的可维护的方式来操作一组对象。它使得你在不改变操作的对象前提下,可以修改或者扩展对象的行为。javax.lang.model.element.Element and javax.lang.model.element.ElementVisitor

javax.lang.model.type.TypeMirror and javax.lang.model.type.TypeVisitor

本文我们一起了解了在JDK中使用的到的设计模式:行为型模式,下一篇我们一起看看设计模式在Mybatis中的运用。

ps:IT技术、架构、职场、有意思的事儿,请关注我的公众号360linker

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值