【发布时间】:2014-03-20 15:35:33
【问题描述】:
我正在为一个大学项目开发一个计算器应用程序。我已经将每个计算器操作(例如加法、乘法、平方等)封装在单独的类中,这些类都有一个共同的超类。这是命令模式还是策略模式的示例,它们似乎非常相似,我在这里无法决定。
谢谢。
【问题讨论】:
-
This question and its answers 应该会有所帮助。
标签: design-patterns
我正在为一个大学项目开发一个计算器应用程序。我已经将每个计算器操作(例如加法、乘法、平方等)封装在单独的类中,这些类都有一个共同的超类。这是命令模式还是策略模式的示例,它们似乎非常相似,我在这里无法决定。
谢谢。
【问题讨论】:
标签: design-patterns
两者兼而有之。许多模式重叠。您的计算器程序使用策略模式来支持多个操作,并可能允许稍后添加或动态添加新操作。
每个操作策略都以符合命令模式的方式调用。
【讨论】:
策略模式用于您需要决定使用哪种算法的地方 例如您希望如何添加不同类型的数字
在您拨打电话时将使用命令模式 例如是否要调用具有不同 Add 策略的 Add 类或其他方法
【讨论】: