【发布时间】:2011-09-06 18:32:24
【问题描述】:
过去,我曾将策略模式解释为一种机制,它允许函数/类的用户为该函数/类提供他们自己的功能。
我一直被教导,实现该模式的方法是将函数指针放入您的类/函数并在内部调用它们,从而允许程序员提供他们自己的“策略”,这些“策略”将在这些函数内部使用,并且对象。
最近环顾四周,我发现策略模式似乎总是通过使用继承层次结构来解释/定义,如下所示:
Strategy pattern implementation
这是意见/实现的差异,还是函数指针传递不是策略模式的变体?我最感兴趣,所以当我评论或解释我的代码时,我不会让人们感到困惑:)
【问题讨论】:
-
有人只是对这个问题投了反对票,两个答案都没有 cmets...我有时讨厌别人:p
-
是的。我标记了这个问题,我们会看看是否有一个模组会来修复它。
-
这里没有不规则的投票模式。从旗帜来看,我完全相信有人飞过并开始点击投票。由于这是一个罕见的“良好主观”(恕我直言)的例子,而且我确实使用 C++(至少足以理解这个问题),我倾向于点击几次投票。如果再次发生这种情况,请标记,我会请开发人员调查一下。
-
谢谢大家,非常有启发性的答案:)
标签: c++ design-patterns strategy-pattern