在 C# 中,创建什么类型、应该拥有什么成员以及应该拥有什么名称空间等问题都是面向对象设计的问题。它们不是我在这里感兴趣的问题。
相反,我想问一下您如何将这些存储在磁盘工件中。以下是一些示例规则:
将程序集的所有类型放在一个源文件中。一位这样做的朋友说“文件是一种古老的代码组织工具;今天我使用 classview 和 Collapse to Definitions 来浏览我的代码”。
将所有代码放在一个程序集中。使部署和版本控制更简单。
目录结构反映命名空间结构。
每个命名空间都有自己的程序集。
每种类型都有自己的程序集。(作为一个极端的例子列出。)
每种类型都有自己的源文件。
每个成员都有自己的文件;每种类型都有自己的目录。(作为一个极端的例子列出。)