我必须为不同的客户端实现API。每个客户端的实现将是不同的。因此,我正在考虑使用groovy中的策略模式(类似于Java),在该模式中,我将拥有一个接口,并为每个客户端创建一个类(它实现了一个接口),我希望通过接口配置使用UI(类的下拉选择)调用的类。
interface PricingStrategy {
}
class CanadaPricingStrategy implements PricingStrategy {
Method 1...
Method 2...
}
class BrazilPricingStrategy implements PricingStrategy {
Method 1...
Method 2...
}这是最好的方法,还是我可以使用可插拔行为方法,使用闭包作为变量?
发布于 2017-11-01 15:11:57
这是最好的方法,还是我可以使用可插拔行为方法,使用闭包作为变量?
如果不了解更多的需求,就不可能确定地说,但是一般来说,您所描述的基于接口的方法将是有意义的。还是可以插上的。您可以为每个实现创建一个单独的插件,并且可以使用不同的插件构建不同版本的应用程序,这些插件提供了不同的行为。您可以使用动态发现机制来加载类路径上的所有PricingStrategy实现。您有很多选项,但是由于几乎没有关于您的需求的信息,我想说,基于接口的方法是一个坚实的起点。
发布于 2017-11-01 17:00:37
我将根据下面提到的句子将你的问题陈述分为两部分:
根据两点,我建议您使用两种不同的设计模式来实现您的问题陈述:
并将此策略模式称为Adapter模式。
https://stackoverflow.com/questions/47050345
复制相似问题