【发布时间】:2013-08-16 19:57:10
【问题描述】:
除了拥有一百个成员的类的非典型原因(例如访问一百个对象的 DAO 模式)之外,最好的方法是什么:只有一个包含所有成员的类,或者有数百个部分类,每个类都有一个成员?
每个成员的部分类看起来不错,因为它有助于构建插入和删除成员的自动化解决方案,只需创建或删除文件(类)。
.Net 中的 C# 或其他东西是否限制了部分类的数量?假设在运行时这两种选择是相同的,那么在设计时或编译时其他性能或资源消耗情况如何?
详细说明示例: 具有数百个需要从 DaoFactory(DAO 模式)访问的对象的数据库通常对数据库中的每个对象都有一个成员。我们不是在讨论这背后的业务,为什么这个系统有以及它是如何工作的,但我们有一个情况,所有对象都需要通过 DaoFactory 来“暴露”。当然,多个 DaoFactories 对对象进行分组可以最小化其大小(成员数量),但前提是划分考虑了它们之间所有可能的关系,因此将所有可能的数据库事务组合在它们之间进行分组。
所以,假设我们不能分割这个 DaoFactory,我们有一个有数百个成员的类,部分类是我要求的替代方案,有一种工具可以维护它,只需创建或删除部分类给每个成员。
【问题讨论】:
-
数百个部分类,每个类都有一个成员你不会是认真的,对吧?
-
老实说,我认为这是一个完全有效的代码生成问题。如果这段代码是手工维护的,我也会有同样的反对意见,@Will,但机器生成的代码完全不同。
-
我无法想象 100 个人都需要同时换一个班级
-
@cdhowie:为什么工具生成的代码需要不止一个部分?如果您的代码生成速度如此之慢,以至于不允许重新生成单个方法,那么您做错了。即使在这种情况下,您也可以简单地查看 gen 文件以了解您想要更改的内容并进行更改。无需创建一堆无用的文件。
-
请看“详细样本”
标签: c# partial-classes