所以我正在开发一个非常酷(非常大)的n层应用程序。
基本上我有以下程序集:
域
Domain.Contracts
服务
Services.Contracts
Presentation.Admin
Presentation.Web
Presentation.Core(在Admin和Web之间共享)
我可以实现Presentation.Core.Contracts
我正在努力解决的主要问题是不同层之间的名称冲突。即
Services.Contracts.AccountServicesRequest
Domain.Contracts.AccountServicesRequest
我遇到了与服务名称相同的问题(在这种情况下,我只使用类作为服务而不是WCF等)。即:
Services.Contracts.IAccountService
Domain.Contracts.IAccountService
我现在通过在域层IxxxServiceHandler中创建所有“服务处理程序”来解决这个问题,它给了我这个:
Services.Contracts.IAccountService
Domain.Contracts.IAccountServiceHandler
但是,我无法使用在图层之间来回传递的对象来解决此问题。 这似乎通过我的解决方案在一堆地方撒了。 我很想知道是否有人遇到过同样的问题。如果是这样,你是如何解决它们的?
答案 0 :(得分:0)
是的,我遇到过这个问题,但我每次都很快修好了。
良好的类命名约定可以提供帮助。避免在多个层的类中使用相同的名称。
或者,您可以使用namespace aliases,以便您可以使用,例如:
services::IAccountService
domain::IAccountService
这有帮助吗?