继承实现的设计问题



初始情况:-我有20个不同的类,每个类包含为每个下游系统提供提要的代码,因此20个类用于20个系统。不,我雇了一个架构师来简化我的代码。

架构师建议应用OOP原则,我们应该使用继承并将公共功能移动到基类,并使用与20个类的关系。

问题:-这增加了我的可测试性努力,早些时候我们对每个下游都有单独的代码,所以只需要对一个系统进行回归,但现在对于基类的任何更改,我们需要对20个系统进行测试,因此应用OOP产生了更多的问题。

解决这个问题的设计应该是什么?

简而言之,您可以尝试使用组合而不是继承。这可能会产生一个更稳定的下游特定对象,当常见的事情发生变化时,就不需要测试了。根据您的具体情况,这可能有帮助,也可能没有帮助,但至少是一个明智的选择。

显然我们不知道你的确切情况。一般来说,继承确实有问题,应该尽可能避免。 更具体地说,从基类继承来共享代码(我假设这是您的情况,我不确定)也不是一个好的实践。继承的第二步。

组合涉及为常见的事物创建一个有用的抽象。基本上是一个或多个独立的对象,它们做一些有用的事情,但不是特定于下游的。然后在下游特定的对象中使用这些对象,而不是继承其中的任何一个。

最新更新