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