社区
Java
帖子详情
我想知道状态和策略两种模式的区别
Abib
2003-09-14 06:05:53
大虾烦请指点迷津,多谢
...全文
77
3
打赏
收藏
我想知道状态和策略两种模式的区别
大虾烦请指点迷津,多谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
eagle19790214
2003-09-15
打赏
举报
回复
同意topbit
jeffyan77
2003-09-15
打赏
举报
回复
状态模式经常与策略模式相混淆。有的时候很难区分应当使用状态模式还是应当使用策略模式。
这个时候,一个简单的方法便是考察环境角色是否有明显的状态和状态的过渡。如果环境角色只有一个状态,那么就应当使用策略模式。策略模式的特点是一旦环境角色选择了一个具体策略类,那么在整个环境类的生命周期里它都不会改变这个具体策略类。而状态模式泽适用于另一种情况,即环境角色有明显的状态转移。在环境类的生命周期里面,会有几个不同的状态对象被使用。
另一个微妙的区别在于,策略模式的环境类自己选择一个具体策略类;而状态模式的环境类是被外在原因放进一个具体状态中。
策略模式所选的策略往往并不明显地告诉客户端它所选择的具体策略;而状态模式则相反,在状态模式里面,环境角色所处的状态是明显告诉给客户端的。
topbit
2003-09-15
打赏
举报
回复
解决的问题不同:
状态模式,解决内在状态的改变。
策略模式,解决内部算法的改变。
解决的方法不同:
状态模式,通常是自我控制状态的改变。
策略模式,由外部指定使用什么样的策略。
图解Java设计
模式
(一)
行为型
模式
:模版方法
模式
、命令
模式
、访问者
模式
、迭代器
模式
、观察者
模式
、中介者
模式
、备忘录
模式
、解释器
模式
(Interpreter
模式
)、
状态
模式
、
策略
模式
、职责链
模式
(责任链
模式
) 2) 学习目标:通过学习,学员能...
23种设计
模式
之
状态
模式
和
策略
模式
的
区别
在行为类设计
模式
中,
状态
模式
和...尽管这么说,但事实上
策略
模式
与
状态
模式
在很多情况下都是可以互相转化的,具体应该使用何种
模式
,就要从上面的两个方面尽心分析,能够看得出明显
状态
变化的,当热要用
状态
模式
;...
设计
模式
之
策略
模式
与
状态
模式
的
区别
转
策略
模式
与
状态
模式
的比较
状态
模式
(state pattern)和
策略
模式
(strategy pattern)的实现方法非常类似,都是利用多态把一些操作分配到一组相关的简单的类中,因此很多人认为这
两种
模式
实际上是相同的。然而在现实...
桥接
模式
和
策略
模式
的
区别
转 桥接
模式
和
策略
模式
的
区别
2012...
[设计
模式
](十):
策略
模式
(Strategy)与模板
模式
(Template)详解及二者间
区别
介绍(
两种
父子类行为
模式
)
其次,行为
模式
再按照类与类间关系的划分,可以划分为四个类型:父子关系(2种)、独立类间关系(4种)、类自身
状态
(2种)、需要中间类代理(3种)。本次所说的
策略
模式
与模板
模式
,都属于父子关系的行为
模式
。二者...
Java
50,545
社区成员
85,621
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章