通常,我尝试避免在WCF合同中使用继承,而不是使用合成。
但在下列情况下......
我认为我的选择是:
由于多种原因,我更倾向于选项2,但它打破了继承规则的构成。
人们的想法是什么?
答案 0 :(得分:2)
我的直觉是“重新设计你的界面”。使用具有可疑返回类型的方法通常不是良好设计的标志。这会导致该方法的每个调用者都有许多不必要且容易出错的逻辑。
所以我建议“秘密选项3”:将接口重构为两个单独的方法。
答案 1 :(得分:0)
所有规则都应该被打破。如果您正在重用对象,系统允许您使用继承...为什么不使用它?正如Phil Haack所说的那样......为自己思考。
通过一系列人为规则限制自己是一种让你工作更困难的好方法。我们有理由可以使用继承,我说这是其中之一。
Prefer Composition Over Inheritance (Steve Rowe)这是另一个角度。但如果你读它,他就是在谈论功能的重用,而不是数据。
答案 2 :(得分:0)
首选组合而不是继承!=永远不要使用继承: - )