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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/akfly/article/details/54693892

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


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




父类与子类

策略模式

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

模板方法

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

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




类与类之间

观察者模式

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

迭代子模式

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

责任链模式

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

命令模式

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




类的状态

备忘录模式

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

状态模式

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


通过中间类

访问者模式

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

中介者模式

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

解释器模式

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




阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页