我不是一位经验丰富的.Net程序员,因此这个问题。
将每个(主要)类放在一个单独的程序集中是不是一个非常糟糕的主意,因此我选择更改可执行文件的任何类的实现都不需要重新编译?或者我的想法是否意味着由于运行时加载等导致严重的性能问题?
我知道这个问题很模糊,但也许有一些具体的指导方针,关于什么应该放在一个单独的集合中,什么基本上不应该
提前致谢
答案 0 :(得分:5)
这不是一个好主意。将问题放在一个组件中。但每个组件不是一个单独的类。 如果更改两个类,则需要发送两个程序集而不是一个。你赢了什么?
答案 1 :(得分:4)
您谈论客户端软件。一个体面大小的项目,有几百个类 - >客户端软件不接受几百个DLL,这不常见。
装配只是不用担心它。使用每个类的DLL,您将公开所有代码结构 - MyApp.dll,MyApp.MainForm.dll,MyApp.DatabaseLogic.UserAuthentication.dll -
答案 2 :(得分:4)
这是一个非常糟糕的主意。
如果您打算将它们作为单独的组件重新分发(将它们安装到最终用户),则需要将它们放在单独的程序集中。我敢打赌那不是你的情景。
您可能会拆分到程序集的示例:
clock.exe
和facebookAlbumViewer.exe
MyProgramDataModel.dll
,MyProgramBusinessLogic.dll
和MyProgramGui.exe
在将来,您将发布一个新的MyProgramDataModel.dll
(现在可以使用Oracle而不是MySql),因此您只部署该组件。它只适用于大而复杂的软件。答案 3 :(得分:2)
您在编译时节省多少时间?你会花多少时间为每个班级添加一个新项目?
不要浪费你的时间,让编译器完成他的工作。你的时间比编译器的价值更高。
答案 4 :(得分:0)
如果您正在谈论的所有这些课程都在做不同的工作,并且可以与他们正在进行的业务分开,那么我认为将它们分开组装是可以接受的。但是你也应该小心这个问题,否则你的应用程序可能变成DLL地狱!