state 和 stratogy模式的区别

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:32:43
这两种模式非常相似,我不是很清楚两者之间的区别,请赐教

state用于记录一个状态,strategy用于使用一段特殊的程序代码。

举例来说

你有一个物体的状态需要观测并生成报告,则:

- 使用State object 来记录这个物体的状态并适当存储,然后
- 使用strategy类来过滤想要的信息并生成报告,如你有报告1,报告2,... 分别使用strategy1, strategy2, ... 则

for (Strategy str : Collection<Strategy> strategies) {
str.generateReport(Collection<State> states);
}

明白?