正确的.NET的DLL结构的应用(Proper .NET DLL structure for app

2019-10-23 17:09发布

......如果有这样的事情。 这里的两大技术途径为在.NET应用程序构建的DLL /参考图像: http://www.experts-exchange.com/images/t80668/compArch.png 。 该应用程序可以是一个网站(这是在这种情况下)或WinForm的。 每个方块代表一个DLL。 对于winform应用程序,只需更换“器WebControls”与“winformcomponents”。

第一个(顶部)图像正是我喜欢的。 您可能要扩展基本Web控件的“一些”,并直接使用他人。 第2图像让你通过接口扩展任何Web控件。 对我来说,这似乎矫枉过正,因为你可能想简单地用的是已经有不加修饰。 哪个更好,有什么优势/劣势?

第一图像把最低的共同构建体(例外,FILEIO,常量等)成common.dll。 第2图像使应用程序的业务逻辑,共同为一个DLL。 哪个是更好的,什么是每个apporach的优势/劣势?

Answer 1:

有大量文献的通常是不好的,因为加载DLL的具有非negligble成本。 这不是优雅也许是,但有更少的模块提高你的表现。 正如经常出现在我们的工艺,你必须要找到总模块化的优雅和性能的残酷现实之间的平衡。 同时,我们的工艺往常一样,你不知道什么平衡,直到你开始剖析来衡量你的应用程序的性能。



Answer 2:

我觉得这是一个非常下降到程序员的偏好。

这一切都归结为依赖真的。 在一个DLL更多的事情意味着它自然会在该DLL创造更多depentdents。

我个人倾向于沿着类似的路线到MS结构遵循,原因如下:

  • 这使得它更容易为新人定制的“框架”中找到自己想要的东西(如CompName.Web.UICompName.Data
  • 它有助于减少依赖于“明显”的选择。 我不是太热衷CompName.Common型DLL的,因为它没有明确指出可能的家属,而CompName.Web.UI表明,它很可能通过任何Web应用程序中使用。
  • 明显的尺寸缩小,因为DLL的内容将更加“相关”。

DLL的一个应用程序内层是有意义的,中的类型应该只由商业模式所需要的那些类型,其他对象(如公用事业,数据访问等)应在自己的图书馆。



文章来源: Proper .NET DLL structure for app