Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将C代码组织成单独的模块_C#_Separation Of Concerns_Methodology - Fatal编程技术网

C# 将C代码组织成单独的模块

C# 将C代码组织成单独的模块,c#,separation-of-concerns,methodology,C#,Separation Of Concerns,Methodology,我的解决方案中有以下代码文件: 配置存储在json文件中。 数据模型的形状定义为密封类。 配置必须从json文件中读取和解析,并存储到公共静态类中,以便在运行时使用。 一些需要访问配置数据的助手库。 一些使用这些库的控制台程序。 我应该如何将代码组织到单个项目中。目前,控制台程序和组合的其余文件存储为单独的项目。具体来说,配置数据的模型和保存运行时配置的公共静态类,以及json的解析是否应该是一个独立的DLL?将代码分成多个DLL的理由很少,很可能您不满足这些理由中的任何一个。关注点分离特别指逻

我的解决方案中有以下代码文件:

配置存储在json文件中。 数据模型的形状定义为密封类。 配置必须从json文件中读取和解析,并存储到公共静态类中,以便在运行时使用。 一些需要访问配置数据的助手库。 一些使用这些库的控制台程序。
我应该如何将代码组织到单个项目中。目前,控制台程序和组合的其余文件存储为单独的项目。具体来说,配置数据的模型和保存运行时配置的公共静态类,以及json的解析是否应该是一个独立的DLL?

将代码分成多个DLL的理由很少,很可能您不满足这些理由中的任何一个。关注点分离特别指逻辑分离,在.Net世界中,这是通过类和名称空间实现的。您可以使用项目中的文件夹自动分配其中类的名称空间

最好每个可执行文件只有一个项目,所有业务逻辑只有一个项目

以下是您希望创建多个DLL的几个原因:

再分配和版权问题:您不希望您的客户拥有服务器代码。为客户端和服务器代码创建单独的dll。 性能:如果您的dll开始接近几十个MEG,您可以通过拆分它来获得一些性能增益。与所有性能问题一样,在实现任何性能代码之前,必须首先测试和分析性能瓶颈。 版本控制和部署:如果您有一个非常大的代码库,并且您知道某些代码比其他代码更容易更改,那么您可以拆分dll,以便不必每次都部署更慢的dll。
为什么在不同的dll中。有不同的课程。我认为这太基于观点了。你应该怎么做还没有一个明确的答案。也许可以在程序员stackexchange网站上提问?@Fredou我在想,或者是软件工程SE。但我在这两个社区都不活跃,也不知道哪一个更适合。@Amy-hmm我找不到一个程序员来阅读关于它的文章,所以是的,应该在一个上询问它