C# 何时使用多个类库?

C# 何时使用多个类库?,c#,.net,class-library,base-class,C#,.net,Class Library,Base Class,我应该何时在.NET中使用多个类库。在这种情况下,我需要使用Microsoft Office对象模型的功能来检查Microsoft Office文件的某些属性。我应该使用不同的类库来处理不同的文件类型吗 eg:- 1 library for word files, 1 library for ppt, so on. 或者我应该把所有的东西都塞进一个类库 在构建多个类库之前,我应该考虑哪些问题。想想你的消费者:如果有人想在没有其他库的额外开销的情况下使用word文件库,那

我应该何时在.NET中使用多个类库。在这种情况下,我需要使用Microsoft Office对象模型的功能来检查Microsoft Office文件的某些属性。我应该使用不同的类库来处理不同的文件类型吗

eg:- 1 library for word files, 
     1 library for ppt, 
     so on.
或者我应该把所有的东西都塞进一个类库


在构建多个类库之前,我应该考虑哪些问题。

想想你的消费者:如果有人想在没有其他库的额外开销的情况下使用word文件库,那么就将它们分开。如果没有,就不要

也就是说,请记住,单独的程序集不一定与单独的项目相同。您可能希望为其中的每一个使用单独的项目,即使最终将它们合并到一个大型部件中(请参见)。我发现在较小的项目上管理版本控制更容易。

1)有哪些(可能的)其他程序会重用相同的类,并且它们会部署在相同的位置

2) 我有一小群类,它们对系统的其余部分几乎没有依赖性;在类库中将它们组合在一起是否合乎逻辑?

这取决于您计划如何以及在何处使用此功能

如果要使用来自多个应用程序的部分功能,并且每个应用程序只需要处理其中一个文件(或者至少不是所有文件),那么按文件类型分离库是有意义的

eg:- 1 library for word files, 
     1 library for ppt, 
     so on.

但是,如果所有应用程序通常都会处理每种类型的文件,那么将它们放在一起将减少解决方案的维护开销。

保持简单。如果你没有分离的技术理由,不要这样做


答案主要是个人意见。很多时候都有技术原因或“最佳实践”模式,并规定了应该如何分离代码。

除非您需要分离它们,否则不要这样做。实际上,这个问题是“当我以.NET风格编写代码时,什么时候应该将逻辑分离到多个类中,什么时候应该使类中的逻辑保持相关?”由于这些都是与对象相关的“助手函数”,所以我建议将它们放在一个类中。