【发布时间】:2020-07-09 11:55:51
【问题描述】:
我有一个程序将文件从一台计算机传输到另一台计算机,它使用 4 个不同的 A、B、C 和 D 类。我的程序创建一个对象并使用 A 和 B 来检查和验证要发送的文件。现在我必须添加一个额外的传输技术。我想使用策略模式将是最好的情况,因为我们可以选择任何一种传输技术。但我想问一下,我们是否也可以使用 A 类和 B 类来验证我的策略中的文件传输?这是否使它成为模板设计模式而不是策略设计模式?
【问题讨论】:
-
是的,您可以重复使用验证。不,这不会创建模板。 Strategy 和 Template 的区别分别在于组合和继承。
-
那么这里建议的模式是什么?我希望我的两种传输技术松散耦合。我应该使用继承还是组合?
-
这是一个观点和背景问题,但您可以在此处阅读更多关于差异的信息:stackoverflow.com/questions/669271/…。从没有设计模式开始,并以任何清晰易读的方式解决问题。
标签: design-patterns strategy-pattern