【发布时间】:2011-06-25 14:26:19
【问题描述】:
我目前正在开发一个 asp.net 网站,由其他人完成,而且它的功能非常复杂......嗯,我想是的!几乎每个类都继承自另一个类,然后是另一个类,依此类推……你必须平均达到 8/10 级才能获得基类,有时甚至更多!这些类还有其他类,它们遵循相同的 Uber Inheritence 模式。 这让我多次迷失在代码中,导致上帝知道在 Visual Studio 上打开了多少个选项卡。
这是好的/正常的做法还是不好的做法?我觉得这是不好的做法,因为过度使用继承导致如此简单的事情变得复杂,导致代码不可扩展......但我可能是错的:)
谢谢!
【问题讨论】:
-
另一个建筑宇航员? (joelonsoftware.com/articles/fog0000000018.html)
-
是的,这听起来像是很糟糕的代码,不管听到它有多舒服。现在,也许您想问一个关于如何将其重构为不那么讨厌的问题?
-
所有课程的文档都足够了吗?他们有像样的命名吗?“顶级”类很容易使用吗?
-
在很多 GUI 框架中,您可以获得多层次的继承。只看 WPF 的层次结构,我可以看到几个类从 C# 对象深入 8 级。
-
@Jimmy:你认为这意味着什么? (提示:确实不意味着 8 级继承是好的设计!)