繁体   English   中英

程序集命名约定

[英]assembly naming conventions

假设您有一个对公司中多个项目有用的命名空间,格式为“MyCompany.Core”,您是否有一个名称完全相同或只是“Core”的程序集。 为什么或者为什么不?

使用标准.NET命名约定, 此处介绍了程序集名称。 我会救你(简短)阅读:

请为汇编DLL选择名称,这些DLL建议使用大量功能块,例如System.Data。 程序集和DLL名称不必与命名空间名称相对应,但在命名程序集时遵循命名空间名称是合理的。

考虑根据以下模式命名DLL:
<Company>.<Component>.dll
其中<Component>包含一个或多个以点分隔的子句。

例如,Contoso.WebControls.dll。

我认为最好(在这里看到!)在它包含的根命名空间之后命名程序集,在你的情况下是MyCompany.Core.dll 您永远不知道该文件是否会在公司之外进行,并且跟踪它通常会更容易。

想象一下,如果微软将System.Core命名为Core.dll (System.Core) ,那么你就拥有了Core.dll (MyCompany.Core) ....你可以想象它是如何变得毛茸茸的。

我更喜欢MyCompany.ApplicationName.Core.DLL,如果MyCompany有两个或更多应用程序,这可以消除冲突的可能性。

我将程序集命名为根命名空间。 这样可以很容易地找出哪个代码在哪个程序集中,并防止与可能也使用含糊名称“Core.dll”的其他项目(来自其他公司)发生冲突。

如果在企业环境中开发,这个约定可能有用:

命名空间遵循[DomainEntityName]。[AssemblyName]。[目的]。[RelatedPurpose]格式,其中DomainEntityName是根业务功能名称,而AssemblyName在功能上支持业务需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM