0

我正在创建一个 Web 应用程序。此应用程序用于电子商务网站的订单履行。现在电子商务是 IBM Websphere。我首先从 Websphere 导入订单,方法是使用其公开的 Web 服务并对其进行解析并将其存储到 DB 中。现在他们要求对这个解析的东西进行概括,以便明天如果他们也使用其他一些电子商务产品,比如 prestashop ,它应该可以应付。我需要一些想法如何去做,以及我可以将所有东西保留为可配置选项,以便将来不会产生问题。

4

1 回答 1

0

调查Design Patterns:一种解决方案可能是使用适配器模式

您创建了一个全局的“通用”接口。然后,您为需要支持的每个电子商务创建一个适配器。例如,现在您将拥有一个适配器:

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 电子商务界面,但剥离了所有 IBM 依赖项)

另一种选择是将“导入算法”封装到Strategy中。

于 2012-10-22T11:06:07.543 回答