所有
我对中型WCF服务的典型方法是:
现在,很多时候(如果不总是)业务对象和DTO的数据内容几乎相同。人们如何看待创建由BO和DTO共享的内容对象库。例如。如果我们有一个WibbleDTO和一个WibbleBO,我们可以创建一个IWibbleContent接口,它们都可以实现。我们甚至可以创建一个IWibbleContent接口和一个WIBbleContent类,DTO和BO都持有这个类。
所以,具体问题:
如果没有,那么我想,根据我的相关问题,我们留下了繁琐的复制代码,或者我们使用类似AutoMapper的东西。
任何评论都表示赞赏。
答案 0 :(得分:2)
我们正在使用与您使用DTO和BO描述的非常类似的方法。
我们很少有通用接口,要么它们非常基本(例如,获取BusinessId的接口),要么它们特定于某个实现,例如。可以在客户端或服务器上进行的计算。
我们实际上只是复制属性。它们通常是微不足道的,因此不值得共享代码。
最后,更多代码与之类似。
get; set;
,但在客户端上使用OnPropertyChangedEvent
,这需要使用显式字段。即使两个类中的许多属性都相同,实际上也没什么可分享的。
答案 1 :(得分:0)
我通常会创建POCO并通过我的所有图层使用它们 - 将数据访问到ui的业务。在业务层,我有经理人来回调整POCO。我们将查看实体框架和/或NHibernate,因此我不确定它将在何处引导我们。
是的,我们写了一些额外的代码,但我们保持一切精益和意味着。我们正在使用MVC作为我们的UI,对于我而言,与大量的webforms相比,我是一个天赐之物,我永远不会回头。现在我们的战斗是我们应该将JSON发送到ajax回调还是使用部分视图,后者是我们大部分时间都在做的事情。
我们是否正确?也许不是,但它对我们有用。这么多的选择,很少的时间。