gpt4 book ai didi

c# - 是否有可能在代码中丢失过度继承?

转载 作者:可可西里 更新时间:2023-11-01 08:42:14 24 4
gpt4 key购买 nike

我目前正在开发一个由其他人完成的 asp.net 站点,它的功能复杂得可笑……嗯,我是这么认为的!几乎每个类都继承自另一个类,然后是另一个类,然后是另一个类,依此类推......你必须平均达到 8/10 级才能获得基类,有时甚至更多!这些类内部还有其他类,它们遵循与 Uber 继承相同的模式。这让我多次迷失在代码中,结果天知道在 visual studio 上打开了多少个标签页。

这是好的/正常的做法还是不好的做法?我觉得这是一种不好的做法,因为过度使用继承导致代码变得不可扩展,如此简单的事情变得过于复杂......但我可能是错的:)

谢谢!

最佳答案

是的,过度使用继承会导致意大利面条仓库。继承是一种允许封装和抽象的工具。滥用它会导致过多的抽象,然后代码的目的变得无法使用。我已经看到这种模式在命令式构造中被滥用,在实际应用操作之前,方法从一个方法传递到另一个方法。

private bool getData()
{
return getOtherData();
}

private bool getOtherData()
{
return getSomeExtraData();
}

private bool getSomeExtraData()
{
return SeeHowTediousThisIs();
}

一切正常,但它只是一个非常糟糕的维护架构。我发现这经常发生在顾问/承包商试图引入复杂性(关于工作保障)时。

关于c# - 是否有可能在代码中丢失过度继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4970112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com