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

计算机网站开发专业站长工具域名查询ip

计算机网站开发专业,站长工具域名查询ip,网站建设方案设计ppt,网站备案核验点 上海Springboot之策略模式 策略模式的几种方式1 简单实现1.1 创建策略接口1.2 实现付款方式1.2.1 微信付款1.2.2 支付宝付款 1.3 创建策略调度器1.4 创建配置类 策略模式的几种方式 1 简单实现 场景:策略模式实现不同类型的付款动作 1.1 创建策略接口 package com.p…

Springboot之策略模式

  • 策略模式的几种方式
    • 1 简单实现
      • 1.1 创建策略接口
      • 1.2 实现付款方式
        • 1.2.1 微信付款
        • 1.2.2 支付宝付款
      • 1.3 创建策略调度器
      • 1.4 创建配置类

策略模式的几种方式

1 简单实现

场景:策略模式实现不同类型的付款动作

1.1 创建策略接口

package com.per.strategy;/*** @Title Strategy* @Description TODO* @Author Lee* @Date 2024-01-20*/
public interface PayStrategy {/*** 付款方式** @return*/String getType();/*** 执行策略*/void process();}

1.2 实现付款方式

1.2.1 微信付款
package com.per.strategy.service;import com.per.strategy.PayStrategy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;/*** @Title WeChatPayService* @Description TODO* @Author Lee* @Date 2024-01-20*/
@Component
@Slf4j
public class WeChatPayService implements PayStrategy {@Overridepublic String getType() {return "weChatPay";}@Overridepublic void process() {log.info("微信付款100元");}
}
1.2.2 支付宝付款
package com.per.strategy.service;import com.per.strategy.PayStrategy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;/*** @Title AliPayService* @Description TODO* @Author Lee* @Date 2024-01-20*/
@Component
@Slf4j
public class AliPayService implements PayStrategy {@Overridepublic String getType() {return "aliPay";}@Overridepublic void process() {log.info("支付宝付款100元");}
}

1.3 创建策略调度器

package com.per.strategy;/*** @Title PayStrategyHandler* @Description TODO* @Author Lee* @Date 2024-01-20*/
public interface PayStrategyHandler {/*** 执行策略** @param type 付款方式*/void run(String type);
}

1.4 创建配置类

package com.per.strategy.config;import com.per.strategy.PayStrategy;
import com.per.strategy.PayStrategyHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;/*** @Title PayStrategyConfig* @Description TODO* @Author Lee* @Date 2024-01-20*/
@Configuration
public class PayStrategyConfig {/*** 注册策略调度器** @param payStrategies* @return*/@Beanpublic PayStrategyHandler handler(List<PayStrategy> payStrategies) {Map<String, PayStrategy> strategyMaps = payStrategies.stream().collect(Collectors.toMap(PayStrategy::getType, item -> item));
//        return new PayStrategyHandler() {
//            @Override
//            public void run(String type) {
//                strategyMaps.get(type).process();
//            }
//        };return type -> strategyMaps.get(type).process();}
}

实际使用如下:

package com.per.controller;import com.per.strategy.PayStrategyHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;/*** @Title UserController* @ProjectName spring-boot-demo* @Description TODO* @Author Lee* @Date 2024-01-17*/
@RestController
public class UserController {@Autowiredprivate PayStrategyHandler handler;/*** 用户付款** @return*/@RequestMapping(value = "strategy", method = RequestMethod.GET)public String pay() {String type = "weChatPay";handler.run(type);return "付款成功";}
}
http://www.fp688.cn/news/157570.html

相关文章:

  • 服务器搭建网站能ping t做seo要投入什么
  • 保网微商城官网登录北京网站优化企业
  • 网站关键词有什么用中国联通和腾讯
  • 网站建设步骤视频教程营销传播
  • 自己电脑做网站空间sem
  • 网站备案 网站建设方案书百度竞价推广投放
  • 网站开发如何压缩图片怎样建立一个网站
  • 做网站为什么需要营业执照广州seo网络优化公司
  • 日本巨乳真人做的视频网站谷歌浏览器官方正版下载
  • discuz做资讯网站东莞seo推广
  • 网站首页轮播图怎么做百度发作品入口在哪里
  • 做app和做网站网页在线生成
  • 做网站维护价格廊坊首页霸屏排名优化
  • 武汉做网站推广哪家好域名权重查询工具
  • 济南网站建设 历山北路推广软件赚钱的平台
  • 网站有订单了有声音提醒怎么做济南seo网站优化
  • 上海公司转让昆明长尾词seo怎么优化
  • 邵阳做网站哪家好长沙整合推广
  • 沈阳网站开发简维全球搜钻是什么公司
  • 营业执照咋做网等网站谷歌seo博客
  • 8211 wordpress合肥网站优化seo
  • 美发营销型网站百度seo搜索引擎优化方案
  • 全新正版营销网站今日头条网页版
  • 用建站ABC做的网站 怎么营销关键词优化是怎么弄的
  • 南昌市房产网seo排名哪家有名
  • 用服务器如何做网站seo内部优化方案
  • 奢侈品购物网站排名公司怎么在百度上推广
  • 品牌网站怎么做如何做推广推广技巧
  • 做网站要用什么软件图文教程图床外链生成工具
  • 西安集团网站建设搜索引擎优化方案案例