![]() |
1
2
不一定。结果通常是这样的,因为我的库通常不大,但你会发现微软肯定不会这么做。即使不包含System.Web引用,也存在System.Web。如果你这样做的话,你会得到更多的课程。指示System.Web命名空间在几个不同的DLL中使用。
对。硬盘空间便宜,比维护冗余代码便宜。
这取决于功能。我通常会把这样的东西放在一个片段中。例如,在我的Web项目中出现的一个典型函数是:
它似乎从来就不是库函数的好候选者,因为那时我必须传递我想要使用的CSS类,偶尔还需要传递单元格的colspan值。但是,在我的Web项目中的一些地方,您会看到类似这样的实现。 |
![]() |
2
1
我从DNA中得到提示,将我的一个大型类库的全部或部分从一个项目复制到另一个项目,即使我在任何一个项目中只使用了该库的1%。我可以根据需要自由地重写方法和类。 虽然这种方法在某种程度上与传统的编程智慧背道而驰,但我不会反对它:在过去的35亿年中,它在生物方面非常成功。在生活中,替代方法(通过在项目之间共享编译的程序集来巩固接口和实现)抑制了变化,实际上保证了最终的灭绝。 |
![]() |
3
0
|
![]() |
4
0
我最近发现,我尽量减少项目的数量,如果这样可以减少最终创建的实际程序集的数量的话——我发现在开发过程中更容易处理。这可能是因为我发现很难创建真正模块化、相互独立的项目。 我猜一般规则可能是:如果项目真的可以独立于所有其他项目开发,并且可以插入到没有任何其他依赖关系的其他项目中,那么就让它成为自己的项目。如果您发现总是有其他项目需要被引用才能使其工作(例如,在您的监视器项目中,您可能会发现,除非您还包含带有GPU类的计算机名称空间,否则什么都不会工作),那么我会将它们放在一个项目中。 除此之外,我不认为规则太难和太快。实际上很大程度上取决于程序集中的内容,很难制定任意规则… 只是我的两分钱,不值钱… |
![]() |
5
0
我从一个DLL开始,当它变大并且开始包含一些相当独立的组件时,我可以选择将它们作为单独的DLL来考虑。对我来说,这主要是一个美学问题-我喜欢保持事物的独立性、正交性和良好的组织性。考虑到目前可用的内存和磁盘空间,一个大的DLL没有什么问题。 |
![]() |
6
0
对于在多个项目中共享的东西,我通常使用一个大的DLL方法。但是,这里有一个难点,如果你有很多项目使用这个家伙,我强烈建议给它命名并将其扔到GAC中。当您添加越来越多的项目时,您最终会遇到的是希望对共享组件进行突破性的更改。如果您不使用强命名/GAC,那么在进行更改时,您必须去更新每个应用程序,并且不可避免地会忘记一个应用程序,并且生产中的某些东西将会爆炸。 强名称,将发布版本保存在源代码管理的集中文件夹中,并始终引用它。然后在部署时把它扔到GAC中。 |
![]() |
hengyue li · 如何获得不同类型的模块以进行代码重用? 8 年前 |
![]() |
Bartel · QML依赖性/可重用性(静态代码)检查器 8 年前 |
![]() |
Tarciana · 在Alloy中使用谓词 11 年前 |