c# - 多少类型对于一个对象来说太多了?

标签 c# oop interface

我意识到这个问题并不完全是一成不变的,但一般来说,您如何知道一个对象的类型何时过多?

我目前正在支持一个我不熟悉基线的项目,但我的任务是基本上修复错误以减少我们 SPR 数据库中的项目数量。我不断遇到扩展许多不同接口(interface)的类,包括一个这样的类,它总共扩展了 12 个。许多其他扩展 7 或 8。

现在我知道依赖于接口(interface)而不是具体实现是很好的设计实践,但这是否太过分了?这是真正的代码味道和潜在的糟糕设计的迹象,还是我只是 react 过度,根据情况,一个类扩展七个、八个甚至十二个不同的接口(interface)可能是正常的?尝试通过基线查找实现十二个接口(interface)的对象的实际具体类型是很累人的。

最佳答案

为了能够证明您必须回答的代码味道(括号中的正确答案):

  • 所讨论的对象是否用于实现十二个不同的目的?是的
  • 这些目的是否密切相关?否
  • 是否有从未使用过的对象的用途?否
  • 该对象是否有很少使用的用途,可以作为更通用用途的一部分?否
  • 是否存在根本不是目的而只是运行时使用的标记的目的?否

可能还有更多的问题要回答,欢迎在评论中补充。

关于c# - 多少类型对于一个对象来说太多了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499260/

相关文章:

java - 在实现另一个类接口(interface)的类中使用属​​性

python - 更改共享子对象时更新对象中的元数据

java - 扫描仪的功能。关闭扫描仪会引起问题

c# - 如何在没有自己的构造函数的情况下在基类型的函数中调用泛型类型的构造函数?

c# - 在代码中使用 this()

php - 理解 php 中的继承

delphi - 在不修改接口(interface)的情况下将delphi接口(interface)转换为其实现类

java - 接口(interface)的Spring依赖注入(inject)

c# - 如何使用服务器端将数据发布到 MVC4 中的外部 URL

c# - 将 UWP App 连接到远程 SQL Server 2008 提供程序 : TCP Provider, 错误:0