2011-06-30 4 views
0

私はウェブサイトのAPIと通信するソフトウェアを持っています。どのように私はその中のコードに触れることなく、さまざまな他のAPIに接続する機能を増やすことができますか?私は最も簡単な方法は、apiとsoftwreの間にあるプロキシを書くことが、このソフトウェアが理解できるベースAPIに他のAPIからの着信メッセージを変換することだと思います。 C#を使用してこのプロキシを実装する方法の詳細はどこですか? ありがとうございます。ソフトウェアの機能拡張のためのプロキシ

答えて

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

しかし、あなただけ(あなたの問題に合わない私見)プロキシデザインパターンをしたい場合であるここに記載されている:

  1. Proxy Pattern.
  2. Proxy Pattern in C#.

EDIT:OK、より一般化されたソリューションについては、プロキシパターンを参照して、プロキシの既存の実装を見てください。

+0

こんにちは、返信いただきありがとうございます:あなたはこのサイトにその答えの質問にかなりの数の答えを見つけることができます。私はローカルマシン上で実行している実際のプロキシサーバーのほうがソフトウェアからの通信を受け取ると思っていましたが(私はあまり言及しませんでしたが、古くて複雑で、更新に非常に時間がかかります)、これらのメッセージを他のAPI他のAPIと一緒に。私はこれを見つけた:http://www.codeproject.com/KB/IP/mywebserver.aspx、これはこのサーバーのためのベースかもしれないと思った...私は私の推論で正しいですか? – Macin

関連する問題