我需要一些设计方面的帮助。 我有一个类,我们称它为可以实现多种行为的宇宙飞船。 我已经定义了一个接口(interface)来声明每个行为支持的操作。 到目前为止,这是经典的策略模式。
但是,实现的策略需要能够调用上下文类上的操作和方法。我一直在考虑将上下文作为接口(interface)本身传递给封装的算法。
这是最好的方法吗?如果没有,您会推荐什么?
最佳答案
你打算做的事情对我来说似乎很好。要考虑的一件事是不要将太多传递给行为类的方法。例如,如果您的宇宙飞船有一个引擎行为
,只将您的燃料箱
和驱动装置
传递给它,而不是整个宇宙飞船。
关于design-patterns - 派生算法在上下文中调用方法的策略模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14102055/