C# 组织图书馆的最佳方式是什么

C# 组织图书馆的最佳方式是什么,c#,dll,C#,Dll,例如,最好将所有代码合并到一个dll文件中,还是为每个名称空间创建单独的项目?我认为这不会以任何方式损害代码的可读性,因为代码在名称空间中是分开的 我的问题是: 库的大小如何影响性能 这取决于具体情况,但通常会在初始加载时影响应用程序。在使用依赖项注入的场景中,DLL加载将花费更长的时间,因为依赖项注入工具需要做一些工作来解决问题 对于应用程序直接引用另一个项目或组件的显式依赖关系,性能在应用程序加载时会受到影响,但不应因其存在而影响性能。所有这些当然不能解释DLL中的实际内容,因为无论它们做什

例如,最好将所有代码合并到一个
dll
文件中,还是为每个名称空间创建单独的项目?我认为这不会以任何方式损害代码的可读性,因为代码在名称空间中是分开的

我的问题是:


库的大小如何影响性能

这取决于具体情况,但通常会在初始加载时影响应用程序。在使用依赖项注入的场景中,DLL加载将花费更长的时间,因为依赖项注入工具需要做一些工作来解决问题

对于应用程序直接引用另一个项目或组件的显式依赖关系,性能在应用程序加载时会受到影响,但不应因其存在而影响性能。所有这些当然不能解释DLL中的实际内容,因为无论它们做什么工作,它们的大小也会增加加载时间


还有一种可能性是,应用程序中的插件在加载时会降低性能。但是,这取决于您的应用程序。

拥有大量的项目将导致一些开销,但在性能方面可以忽略不计。不过这会导致认知开销,以及潜在的问题,比如更多的循环引用的机会……谢谢@Sinatr,这正是我想要的!那么,为每个主题/名称空间创建多个DLL,然后让用户单独添加它们作为引用,这样做更好吗?这是一个很难回答的问题,因为它归结为应用程序的各个需求。在应用程序很小并且执行特定任务的情况下,只有一个exe就足够了。应用程序越大,将其分离到不同组件和库中的可能性就越大。尤其是在需要在多个位置重复使用代码的情况下。加载DLL的开销非常小,因为它给整个项目带来了维护好处,特别是在大型应用程序上