当前位置: 首页 > news >正文

搭建wap网站磁力引擎

搭建wap网站,磁力引擎,大连网站制做公司,天津seo策略模式的定义 策略设计模式是一种行为设计模式。当在处理一个业务时#xff0c;有多种处理方式#xff0c;并且需要再运行时决定使哪一种具体实现时#xff0c;就会使用策略模式。 策略模式的类图#xff1a; 策略模式的实现 在支付业务中#xff0c;有三种付款方式有多种处理方式并且需要再运行时决定使哪一种具体实现时就会使用策略模式。 策略模式的类图 策略模式的实现 在支付业务中有三种付款方式程序运行时使用哪种方式由用户选择根据用户选择执行不同的逻辑。 首先我们需要将支付方式这一行为抽象为一个策略接口代表支付方式的抽象。 public interface PaymentStrategy {public void payment(BigDecimal amount);}然后我们再针对需要支持的三种支付方式建立对应的策略实现类。 银行卡支付策略 public class CreditPaymentStrategy implements PaymentStrategy{Overridepublic void payment(BigDecimal amount) {System.out.println(使用银行卡支付 amount);// 去调用网联接口} }微信支付策略 public class WechatPaymentStrategy implements PaymentStrategy{Overridepublic void payment(BigDecimal amount) {System.out.println(使用微信支付 amount);// 调用微信支付API} }支付宝支付策略 public class AlipayPaymentStrategy implements PaymentStrategy {Overridepublic void payment(BigDecimal amount) {System.out.println(使用支付宝支付 amount);// 调用支付宝支付API} }然后重新实现我们的支付服务PaymentService。 public class PaymentService {/*** 将strategy作为参数传递给支付服务*/public void payment(PaymentStrategy strategy, BigDecimal amount) {strategy.payment(amount);} }我们将支付策略作为参数传递给支付服务在支付服务中只需要按照运行时传的支付策略对象进行支付就可以了。 我们来测试一下使用策略模式之后的代码。 public class StrategyTest {public static void main(String[] args) {PaymentService paymentService new PaymentService();// 使用微信支付paymentService.payment(new WechatPaymentStrategy(), new BigDecimal(100));//使用支付宝支付paymentService.payment(new AlipayPaymentStrategy(), new BigDecimal(100));} }运行结果 在使用了策略模式之后在我们的支付服务PaymentService中便不需要写复杂的if…else如果需要新增加一种支付方式只需要新增一个新的支付策略实现这样就满足了开闭原则并且对其他支付方式的业务逻辑也不会造成影响扩展性很好。 JDK中使用策略模式的例子 在JDK中最经典的使用策略模式的例子就是Collections.sort(ListT list, Comparator? super T c)方法这个方法接受一个比较器Compartor参数客户端在运行时可以传入一个比较器的实现sort()方法中根据不同实现按照不同的方式进行排序。 总结 如果在一个系统里面有许多类它们仅仅在行为上有区别那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为一个系统需要动态地在几种算法中选择一种如果一个对象有很多的行为如果不用恰当的模式这些行为就只好使用多重的条件选择语句来实现。
http://www.w-s-a.com/news/54047/

相关文章:

  • 如何给公司网站做推广个人网站可以做社区吗
  • 网站建设为什么不给源代码大理如何做百度的网站
  • 网站代理违法吗网站备份流程
  • 免费域名查询网站wordpress wordfence
  • h5响应式网站模板制作巴南网站制作
  • 网站方案报价软文什么意思
  • 电子商城网站如何建设上海公司车牌价格
  • 丽江网站设计公司专业公司网站设计企业
  • iis怎么建设网站特色产品推广方案
  • 道路建设网站专题品牌网站建设特色大蝌蚪
  • 网站开发组合 所有组合如何做com的网站
  • 电商网站怎么做的Wordpress 报表的插件
  • 纹理网站推荐买了两台服务器可以做网站吗
  • 机关公文写作网站南宁互联网推广
  • 五指山网站开发价格免费申请网站域名
  • 帝国音乐网站怎么做数据表电脑优化软件
  • 做国外网站收款怎么收建筑人才招聘网站
  • 毕设做桌面端还是网站sns社交网站 建设
  • 建设一个网站需要注意哪些内容wordpress 进销存
  • 沈阳市建设局网站sem优化师是什么意思
  • 餐饮vi设计公司网站排名优化方法讲解
  • 无线昆明官方网站可以做书的网站
  • 信誉最好的20个网投网站凡科网站建设之后怎么删除
  • 天津网站开发技术广州网站优化公司排名
  • 养老做增减的网站医院网站怎么做优化排名
  • 企业网站的推广方法有哪些上海猎头公司前十名
  • 电商网站建设建议免费下载app
  • 网站搭建设计是什么意思百度地图放到网站上
  • 东莞网站建设市场分析淘宝网站框架
  • 新网站多久被百度收录网站空间单位