java设计模式之行为模型模式

本文通过具体实例,如Dubbo和Netty等开源项目,详细解析了软件设计中的行为模式,包括策略模式、模板方法、观察者模式等,并探讨了它们在实际开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面学习了创造模式系列和结构模式系列,本文来学习下行为模式系列


这一章打算找一些开源项目中的代码例子来写。




父类与子类

策略模式

针对接口的一个方法有不同的实现,让客户来选择

模板方法

父类一般是抽象类,实现接口方法,定义一个抽象方法让子类去实现

通过dubbo代码中,如何实现客户端负载均衡算法,来理解下这几个模式




类与类之间

观察者模式

很经典的设计模式,又叫监听者模式,我下面举的例子是 jdk源码中,事件通知的代码

迭代子模式

这个模式一般用来遍历集合,所以我举得例子是 ArrayList

责任链模式

这个模式也很经典,构造责任链,Filter javaweb 开发都了解。 下面我觉得例子是最近看netty源码中channelPipeline

命令模式

这个模式,我举得列子是dubbo代码中container 容器类的实现




类的状态

备忘录模式

这个模式有点类似于 数据库事务回滚。 打个快照用于回到最初

状态模式

这个模式一般与前面的观察者模式,结合起来一起使用,用得例子是rocketmq中,处理remoting链接的时候,来抽象channel的状态


通过中间类

访问者模式

这个模式主要将对数据结构的操作和数据本身隔离开, 比如 我们经常写的service 和DAO

中介者模式

这个模式主要是 彼此绝缘,让操作者不包含任何对User类的引用

解释器模式

这个模式,主要用于国际化之类的。同一个code,给用户不同语言的展示




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值