0

Web アプリケーションを作成しています。このアプリケーションは、e コマース Web サイトの注文フルフィルメント用です。現在の E コマースは IBM Websphere です。公開された Web サービスを使用して Websphere から注文をインポートし、それを解析して DB に保存することから始めます。現在、彼らはこの解析を一般化するように要求しており、明日 prestashop のような他の E コマース製品を使用する場合にも対応できるようにする必要があります。将来的に問題が発生しないように、それをどのように実行するか、および構成可能なオプションとして保持できるすべてのことをいくつかのアイデアが必要です。

4

1 に答える 1

0

調べてくださいDesign Patterns:1つの解決策は、アダプターパターンを使用することです:

グローバルな「汎用」インターフェースを作成します。次に、サポートする必要がある E コマースごとにアダプターを作成します。たとえば、現時点では 1 つのアダプタがあります。

public class IBMImportAdapter : IECommerce
{
     private IBMECommerce _ibmInstance;

     public IBMImportAdapter(IBMECommerce instance) {
         _ibmInstance = instance;
     }

     public IEnumerable<Product> GetInput() {
         IEnumerable<IBMProduct> ibmProducts = _ibmInstance.TheirGetInput();
         List<Product> products = new List<Product>();
         foreach (IBMProduct p in ibmProducts) {
             products.Add(new Product(p.ID, p.Name);
         }
         return products;
     }
}

これらのアダプターは、グローバル/汎用インターフェースへの独自のインターフェースのマッピングです。(あなたの場合、これはほぼ IBM E-commerce インターフェースかもしれませんが、すべての IBM 依存関係が取り除かれています)

別のオプションは、「インポートアルゴリズム」をStrategyにカプセル化することです。

于 2012-10-22T11:06:07.543 に答える