![]() |
1
2
我通常将可执行应用程序划分到它们自己的名称空间中。据我所知,名称空间有助于代码组织,所以我认为很少有人会从另一个项目引用brokerconsole应用程序。 所以,基本上,我会创造:
|
![]() |
2
1
我会将两者分为companyname.productname.broker.console和companyname.productname.broker.core。考虑到system.console的存在,惟一的潜在问题是使用console作为名称。(这可以避免使用CuffyNAM.StudioNo.Boo.BooCudio,但这有点难看。) 将两者分开将使未来的应用程序更加清晰,这些应用程序可能也希望使用核心功能。 |
![]() |
3
1
我认为你的方法是有道理的,而且它遵循的逻辑与我通常遵循的基本相同,而且在我目前的客户(一家相当大的公司)中也是如此。
我想,如果我给出的名字是:汇编
我认为将控制台与库分离是没有意义的,因为将它放在一个完全独立的名称空间中,恰恰相反。我认为他们 应该 因为它们是同一个产品的一部分,所以要住在同一个名称空间中。 |
![]() |
4
1
我们通常将其拆分,以便解决方案中的每个项目都有自己的名称空间,在每个项目中可能有子名称空间。每个项目,因此每个名称空间都包含在它自己的dll中。 |
![]() |
5
0
我通常使用名称空间来划分一个类与其他类在责任和相互依赖方面的关系,有时也会使用意图。 我使用程序集根据类是否分布在一起以及功能是否位于同一位置来划分类。我还使用程序集对系统中的元素进行分区,这些元素要么独立部署,要么由多个项目使用,要么在生产中被替换或替换。 根据您的描述,我认为您对程序集的物理分离是有意义的,因为它提供了重用和替换的机会。 但是,如果类的意图相似或存在逻辑依赖关系,我可能会选择在程序集之间共享一些命名空间。 例如,我可能有一个companyname.productname.utility命名空间,两个程序集都使用它来组织实用程序代码,即使程序集之间没有共享。 |