【发布时间】:2018-08-28 16:05:03
【问题描述】:
我必须与三个不同的系统进行通信。对于每个系统,我必须以不同的方式进行通信并获取不同类型的数据。例如,对于两个系统,我必须使用 REST API 进行通信,而对于第三个系统,我必须使用 NET.TCP 协议进行通信。
我的问题是,我可以使用某种模式或某种抽象吗? 据我所知,如果不进行强制转换,不可能有一个共同的类型(接口)但有不同的方法。我正在使用 C#
【问题讨论】:
-
代理或适配器模式可能会这样做。
-
你可以用接口抽象出任何东西。不知道“不可能”是什么意思
-
这取决于您希望如何从这些系统中获取数据。您将同时从其中一个系统获取数据,还是同时从所有三个系统获取数据?
-
您可以创建一个接口和三个具体类。每个系统一个,并使用策略模式在运行时决定从哪里获取数据。
标签: c# oop interface abstract-class