我有四个项目:
1.定义项目业务登录的业务项目
2.定义合同界面和DTO的服务合同项目
3.服务实施项目,定义服务的实现
4.使用该服务的svc文件的Web应用程序。
理论上:
A.合同项目不应提及任何人
B.服务实施应参考合同项目和领域
C.网络应用程序应仅参考合同和实施项目。
我有这样的服务:
AccoundData GetAccount(AccountTypeEnum type);
问题是域中定义了AccountTypeEnum
,因此合同和Web应用程序应该引用域。但这是我们试图阻止的..所以我怎样才能防止“了解”域名的合同?
答案 0 :(得分:2)
在这种情况下,您的合同必须使用不同的枚举/ DTO,您的服务实现必须在合同枚举和域枚举之间进行转换。