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

时间:2017-05-03 19:19:00

标签: c# separation-of-concerns methodology

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

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

1 个答案:

答案 0 :(得分:2)

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

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

以下是您想要创建多个dll的几个原因':

  • 重新分发和版权问题:您不希望您的客户拥有服务器代码。为客户端和服务器代码创建单独的dll。
  • 性能:如果你的dll开始接近数十个meg,你可以通过分割它来获得一些性能提升。 (与所有性能问题一样,必须首先测试并分析性能瓶颈,然后再实现任何性能代码)。
  • 版本控制和部署:如果你有一个非常大的代码库,并且你知道某些代码比其他代码更容易改变,你可以拆分dll以便不必部署更多代码#34 ;呆滞"每次都是dll。