在WCF / SOAP世界中处理多态业务对象的正确方法是什么? 在我看来,SOA和OOP彼此不一致 – 要公开一个干净的WSDL,你需要具体的对象,通常甚至不利用继承.另一方面,大概是在底层系统中,你
在我看来,SOA和OOP彼此不一致 – 要公开一个干净的WSDL,你需要具体的对象,通常甚至不利用继承.另一方面,大概是在底层系统中,你会想要遵循适当的OO设计.
人们通常在这做什么?构建一组WCF合同对象,放弃OOP原则,然后转换为实际逻辑层中的另一组对象?
What do people typically do here? Build a set of WCF contract objects, forgoing OOP principles, then convert to and from another set of objects in the actual logic layers?
是.
WCF序列化事物的方式最终会对合约对象可以做什么和不做什么产生很多限制.你不能做的最终是“最有用的东西”.
如果你认为WCF合同对象只是一种数据传输机制,我发现它使事情变得更加清晰.基本上类似于强/静态类型的XML.您不必将业务对象转换为XML字符串(而是再次返回),而是将业务对象转换为WCF合同对象(并再次返回),但它在其他方面类似