Nat*_*ati 1 design-patterns strategy-pattern
我正在尝试将维基百科的策略模式示例转换为现实生活中的问题,但我不确定我的场景是否确实需要这种模式。
假设我们有一项服务可以从多个客户端获取更新,并且需要进行一些处理并向前推进这些更新,具体取决于它们的大小。我希望服务尽可能简单,并对未来的更新格式(来自其他客户端)开放。
我想我可以通过使用这种模式让更新本身决定如何进行处理和前进,并让服务尽可能简单。像这样的东西:
public class Service {
void processUpdate(Update myUpdate) {
myUpdate.process();
myUpdate.moveForward();
}
}
Run Code Online (Sandbox Code Playgroud)
我错了吗 ?如何(在哪里...)为每次更新分配策略?
搞不好设计模式的最简单方法就是学习一种模式,然后尝试寻找放置它的地方。我刚开始学习的时候也这样做过几次,结果却很令人沮丧。
策略模式是针对特定形式问题的解决方案。这个问题是“我需要做的事情基本相同,但中间有一些变化”。因此,现在请记住如何制定策略模式,当您看到表明该模式的问题时,请使用它。
归档时间: |
|
查看次数: |
1394 次 |
最近记录: |