代理软件以增加其功能

时间:2011-06-30 18:37:25

标签: c# proxy tcp

我有一个与网站api通信的软件。如何在不触及其中的代码的情况下增加其连接到各种其他api的功能?我认为最简单的方法是编写一个驻留在api和softwre之间的代理,将来自其他api的传入消息转换为该软件“理解”的基本api。 我应该在哪里查找有关使用c#实现此代理的更多信息? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

嗯听起来像是你每天遇到的软件设计模式之一。我认为最符合您“代理”的是实际的桥梁。

来自sourcemaking

Intent

- Decouple an abstraction from its implementation so that the two can vary independently.
- Publish interface in an inheritance hierarchy, and bury implementation in its own inheritance hierarchy.
- Beyond encapsulation, to insulation

Problem

“Hardening of the software arteries” has occurred by using subclassing of an abstract base class
 to provide alternative implementations. This locks in compile-time binding between interface 
 and implementation. The abstraction and implementation cannot be independently extended or composed.

C#中的示例是http://sourcemaking.com/design_patterns/bridge/c%2523

但是,如果您只想要代理设计模式(imho不适合您的问题),请在此处列出:

  1. Proxy Pattern.
  2. Proxy Pattern in C#.
  3. 编辑:好的,对于更通用的解决方案,请使用代理模式并查看代理的现有实现。你会在这个网站上找到答案问题的答案: