假设我们有两种服务模式。
ICommonInterface
-action1()Mode1Service 继承 ICommonInterface
Mode2Service 继承 ICommonInterface
两者都有相似的功能,所以有一个共同的接口(ICommonInterface)。那么为 ICommonInterface 提供实现的最佳方式是什么,是继承还是组合或任何其他方式?
1)如果我们更喜欢组合,这不是纯粹的继承。通用逻辑将作为不同的辅助类。Mode1Service 和 Mode2Service 必须遵守共同契约并调用这些助手来提供实际的实现。
- 助手类不需要单独使用。
2) 通过继承,我们将有一个 AbstractBaseModeService,它继承了由两个模式服务类继承的公共接口。同样,Mode1Service 和 Mode2Service 除了通用接口外,还有自己的接口。
我觉得继承更好,即使它只提供代码可重用性。关于如何处理此类案件的任何想法。