【发布时间】:2015-09-06 11:01:04
【问题描述】:
要求:
我需要与多个支付网关集成。但是,客户端仅使用其中一种可用的,并且使用管理员设置进行配置。
当前系统:
我为每个支付网关编写了一个库。随着网关集成请求(源)的增加,这会造成维护噩梦和项目的潜在增加。
问题
有人可以建议我在这种情况下使用的设计模式,可以创建接口和通用设置并根据需要实现网关以减少重复代码吗?
【问题讨论】:
-
在我看来你已经回答了你自己的问题
-
我会去看看 NopCommerce 之类的公司是如何做到的。如果我没记错的话,他们每个提供商都有一个插件,而且几乎可以肯定至少有一个界面在使用。
-
策略设计模式怎么样?
-
如果您有一些代码在您的各种支付项目库中重复出现,那么创建另一个项目,您可以在其中定义一个抽象支付类,所有其他支付提供商都从该类派生。因此,现在跨多个项目的所有通用代码都在一个抽象类中,并且更易于维护。
标签: c# .net design-patterns architecture