博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
23种设计模式总结(三)
阅读量:7080 次
发布时间:2019-06-28

本文共 800 字,大约阅读时间需要 2 分钟。

hot3.png

前面2节,我们主要介绍了构建型和结构型的设计模式,今天我们重点讲一下行为型。

策略模式

要点:一个策略的接口,若干个实现类,针对不同的情况,选择不同的策略实现来解决问题。

典型场景:在之前的社保项目当中,针对不同的参保人类型,它的各种险种的计算方式会有一些不同,多采用此种结构

实现难度:一般

广泛程度:比较广泛

 

模板方法模式

要点:其实,一个称之为模板的abstract类,当中的一部分计算过程是abstract,若干个子类,针对不同的情况,对abstract进行不同的实现。

典型场景:和策略模式差不多,区别在于,对于计算过程完全不同的场景,采用策略模式,一小部分不同的场景,采用模板方法模式。

实现难度:一般

广泛程度:比较广泛

 

我们其实可以把策略模式理解为一种特殊的模板方法模式,空模板。

 

观察者模式

要点:一个Observer的interface,多个Observer实现类,主题subject interface及实现类,能够动态添加删除observer,某些操作发生的时候,通知observer。

典型场景:系统发生某些时间的情况下,需要采用邮件、短信等形式通知相关干系人。

实现难度:一般

广泛程度:比较广泛

 

迭代子模式

略过,参考jdk当中集合类的iterator的使用和实现即可。

 

责任链模式

要点: 有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。

典型场景:netty的handler pipeline

实现难度:一般

广泛程度:比较广泛

 

命令模式

要点:一个命令的发起者(invoker),一个命令的接受者(receiver),一个是命令本身(command)。

实现难度:比较难以理解

广泛程度:反正我很少用

 

 

转载于:https://my.oschina.net/dongtianxi/blog/796140

你可能感兴趣的文章
C和指针---第十五章:输入/输出函数
查看>>
Linux打开txt文件乱码的解决方法
查看>>
腾讯微博android授权 SharedPreferences用法
查看>>
图文详解YUV420数据格式
查看>>
nginx 【logformat】日志格式
查看>>
【Linux系列】【基础版】第四章 Shell基础之正则表达式
查看>>
JWT 在 Spring 上的实践
查看>>
释放linux缓存
查看>>
4、C语言 —— 基本运算
查看>>
js判断是否是ipad还是iphone及各手机用户
查看>>
同时添加多个github ssh key的方法
查看>>
Essential Grid for ASP.NET MVC
查看>>
PDA使用异常指导手册
查看>>
goroutine背后的系统知识
查看>>
ubuntu安装nrpe无法安装问题
查看>>
命令操作
查看>>
SAN 光纤交换机配置远距离级联(EF)操作
查看>>
Web性能优化方案
查看>>
关于proteus闪退问题
查看>>
Android :实现一个手机卫士的一些要点
查看>>