通过“垂直分区”,我的意思是命名空间以模块而不是“层”命名
所以,
代替,
我遇到的唯一问题是,有时这些程序集可能具有与类型名称相同的命名空间的一部分。
假设我创建了一个与帐户相关的模块,并将其命名为MyApp.Account.dll,其基本命名空间为MyApp.Account。不可避免地,我需要创建一个名为Account的类。然后我必须使用命名空间或类型别名。
除了对名字非常有创意外,还有其他人以这种方式体验切割装配并处理名称冲突问题吗?
答案 0 :(得分:9)
过去,我已经处理过这两种方式:
1)在适当的位置多个命名空间或使它们成为动名词(添加-ing后缀)。例如,MyApp.Orders
可以安全地包含Order
类。 (同样,坚持使用“MyApp.Accounting”而不是“MyApp.Account”)。
2)将Domain
附加到命名空间(有点不满意,但有效)。