设计模式之 strategy和state
来源:互联网 发布:管家婆软件销售怎么 编辑:程序博客网 时间:2024/04/29 03:19
这个叫策略模式。最近感觉后面这几个行为模式都特别得像!
策略模式对某些算法进行了封装(不一定是算法咯)!
比如翻译一句话,用法语,日语,英语等翻译,就可以采用策略模式。
input...
translate..
output...
在translate中这里传入策略对象,即可完成相应功能。
这种将算法的变化部分独立出来的方式,就是策略。
state模式是状态模式,这个主要解决了大量使用if,else的情况,说实话,这种内部代码大量采用If,else等类似的语句,可以考虑
由state模式来替换。state模式就是每种分支对应一种状态,然后具体处理在状态对象内部完成。这里有几个注意点:
1 state模式需要外部的context,往往state模式自己干不了多少事情,必须与context结合才行。
2 状态的切换,我个人比较喜欢由context来完成,否则state自己得记住下一个state是哪个具体实例,挺麻烦的。
3 state如果内部不保存某些状态的话,可以采用singleton方式得到。
想想,我们那个NTC的worktype可以换成由state方式来做吗?
1 type不同的问题,这个应该不能换,好像也没什么模式支持这个。
2 每个工种内部的状态,倒是可以由它来完成,咋做呢?好像很麻烦呀....有啥子好处吗?不如用状态机来做。
- 设计模式之 strategy和state
- 设计模式学习笔记--Strategy、State
- 设计模式之 strategy
- 设计模式之Strategy
- 设计模式(12)--State状态模式&Strategy策略模式
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之 state
- 设计模式之State
- 设计模式之State
- 天气好热
- 关于服务器端Image控件和HTMLImage控件的前台图片路径绑定问题
- SQL Server 2005 之 Windows身份认证 无法登陆“网络追踪”
- iptables中SNAT, DNAT, MASQUERADE
- [ajax]DWR使用STEP BY STEP
- 设计模式之 strategy和state
- Ubuntu Linux输入法fcitx方块乱码解决设置
- ubuntu下使用UVC摄像头
- 哎,大家好,我好久不来了
- 无法访问局域网内其他电脑(其他资源)
- js 三种滚动条
- 基于WSP/WTP的MMS传输(5)——WTP协议的实现
- get方法提交表单的乱码处理
- this 关键字