不幸的是,C#没有任何类似于C++的friend。因此,举个例子,为了解决类似经典的矩阵/向量乘法的例子(效率可以通过与矩阵和向量成为朋友来获得,这样每个类都可以访问另一个类的私有成员),我必须定义类成员internal。
现在我了解了自己,不恰当的封装迟早会导致混乱的代码。因此,我希望保持internal宇宙尽可能小。
这将导致非常小的装配。
这是否有任何缺点,或者这并不重要?
发布于 2013-02-02 06:31:06
标题中问题的答案:组装应该有多小?
对组件的大小没有特别的要求或建议*。
*在理论上,数量惊人的程序集(可能以数千为单位)可能会因为需要在更多的地方查找信息而减慢加载速度。
挑选尺寸时,请考虑:
在构建/编辑/部署time)
发布于 2013-02-02 06:07:58
如果你不喜欢内部,因为它太开放(对于你的api的其余部分),让那些需要相互开放的类成为一个单独的微程序集,其中只包含这一小部分类。您可以始终将该程序集嵌入到主api-assembly中。
这应该让你的类彼此保持开放,并且不让任何其他人进入(除非他们公然忽略你的组装结构,并在你的帮助程序集中放置比它的名字所暗示的更多的东西。但是谁会做这样的事情呢?!:)
发布于 2013-02-02 06:13:40
除非我不明白:
不幸的是,C#没有任何像C++这样的朋友。
Friend Assemblies (C# and Visual Basic)确实存在。这可能不完全是C++所拥有的,但听起来像是可以工作的。
https://stackoverflow.com/questions/14655742
复制相似问题