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

来源:互联网 发布:浙大网新 知乎 编辑:程序博客网 时间:2024/05/16 17:43

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


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




父类与子类

策略模式

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

模板方法

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

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




类与类之间

观察者模式

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

迭代子模式

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

责任链模式

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

命令模式

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




类的状态

备忘录模式

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

状态模式

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


通过中间类

访问者模式

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

中介者模式

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

解释器模式

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




0 0
原创粉丝点击