WCF和工厂设计模式

本文关键字:设计模式 工厂 WCF | 更新日期: 2023-09-27 18:05:42

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

现在,棘手的部分-我已经决定拆分我的应用程序到客户端和服务器部分。这些部件将使用WCF进行通信。但我有一个问题-与WCF我不能使用接口作为返回类型/参数像我在整个代码到目前为止。

请有任何方式使我的项目工作,而不改变我的"只知道接口"代码的基础?

WCF和工厂设计模式

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