应该使用接口和/或基类将业务实体抽象出来,以便当你传递它们时只使用接口/基类? (这是我们一直在做的)。“接口编码”和业务实体的最佳实践?
还是应该实体不使用的接口抽象并只在必要时应该使用的传承?
我之所以问这个问题,是我一直尽量抽离使用接口的我的应用程序代码的所有部分。这使得我可以很容易地使用mock等进行单元测试。另外,通过使用接口,我可以确保只有工厂类实际引用包含实现的项目以及所有其他项(例如:业务逻辑层)该项目包含所有的接口。
上述工作一直很好,直到现在。但是现在,我们需要通过WCF公开一些业务方法。用于返回接口的业务方法,但现在我试图重复使用相同的方法并通过WCF公开它,WCF不喜欢我使用和返回接口作为服务方法参数一部分的事实。
现在我可以尝试使用KnownTypes和ServiceKnownTypes解决问题,但它让我想如果我没有为我的应用程序的业务实体部分使用接口,我不会遇到这个问题。
所以我想如果有一个最好的做法,当涉及到一个新的项目:如果您或你应该不会有你的所有业务实体的接口?
我见过很多人推荐针对商业实体的接口。并且通过电线发送您的商业实体也可能是一个坏主意。 – driushkin 2011-03-24 17:14:55