.NET程序集应该有多大(小)?

时间:2013-02-01 22:01:09

标签: c# .net .net-assembly internal

不幸的是,C#没有像C ++的friend那样的东西。因此,例如,为了解决类似经典矩阵/向量乘法的例子(其中效率可以通过与矩阵和向量交织获得,使得每个类可以访问另一个的私有成员),我必须定义班级成员internal

现在我了解自己,不正确的封装迟早会导致代码混乱。因此,我希望internal宇宙保持尽可能小。

这将导致非常小的组件。

这有什么缺点,或者没关系?

3 个答案:

答案 0 :(得分:2)

回答标题中的问题:装配应该如何?

对组件尺寸*没有特别要求或建议。

*由于需要在更多地方查找信息,理论上疯狂的组件数量(可能以千计)可能会减慢加载速度。

选择尺码时请考虑:

  • 适当的封装
  • 易于编辑(大量解决方案与几个大解决方案在构建/编辑/部署时都有缺点和好处)
  • 技术限制(如GAC部署,部分受信任的代码,任何CPU / x86 / x64要求)

答案 1 :(得分:1)

如果你不喜欢内部原因它(对你的api的其他部分)太开放了,那就让那些需要互相打开的类只需要一个包含这一小组类的单独的微组件。您始终可以将该程序集嵌入主api-assembly中。

这应该让你的课程彼此保持开放,而不是让任何其他人进入(除非他们公然忽略你的程序集结构,并在你的帮助程序集中放置更多的东西,而不是它的名字意味着它应该包含。但是谁会这样做这样的事情?!:)

答案 2 :(得分:1)

除非我不明白:

  

不幸的是,C#没有像C ++的朋友那样的东西。

Friend Assemblies (C# and Visual Basic)确实存在。它可能不完全是C ++所具有的,但听起来它会起作用。