WCF和工厂设计模式

时间:2011-08-15 13:09:46

标签: c# wcf

我使用某种“工厂”设计模式创建了一个非常复杂的应用程序。这样,我有一个定义类的接口,我有一个实现接口的类,我有一个静态类,静态方法用于创建实例。该静态方法(工厂方法)返回接口类型,只有工厂类可以访问我的类型类。 所以,如果我有私人类A,我将拥有公共接口IA和静态工厂类Factory。 “Factory”类是唯一可以访问“A”的类,它返回类型“IA”。 这样,整个项目正在使用接口(例如“IA”),将接口作为参数传递等等。简单地说,我的应用程序绝不使用类“A”,除了工厂类。

现在,棘手的部分 - 我决定将我的应用程序拆分为客户端和服务器部分。零件的那些将使用WCF进行通信。但我有一个问题 - 使用WCF我不能使用接口作为返回类型/参数,就像我在整个代码中所做的那样。

请不要任何方式让我的项目工作而不改变我的“只知道界面”代码的基础吗?

1 个答案:

答案 0 :(得分:1)

创建一个具有与接口IA中相同属性的类。您可以将服务操作的返回类型指定为此类的类型。在服务操作中,创建此类的对象(DTO)并映射类型为IA的对象的值。现在你可以退回这个DTO。