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

做抖音风的网站网络营销课程总结与心得体会

做抖音风的网站,网络营销课程总结与心得体会,深圳知名网站建设,营销qq多少钱一、策略模式的本质#xff1a;面向接口的算法工厂 策略模式#xff08;Strategy Pattern#xff09;是行为型设计模式的典型代表#xff0c;其核心思想是将算法族抽象为独立对象#xff0c;使其能够相互替换。这种模式完美体现了以下面向对象设计原则#xff1a; 开闭原…一、策略模式的本质面向接口的算法工厂 策略模式Strategy Pattern是行为型设计模式的典型代表其核心思想是将算法族抽象为独立对象使其能够相互替换。这种模式完美体现了以下面向对象设计原则 开闭原则OCP新增策略无需修改已有代码 单一职责原则SRP每个策略只负责特定算法 依赖倒置原则DIP高层模块依赖抽象而非具体实现 UML类图 二、策略模式的三种典型实现方式 1. 基础版实现传统方式 // 策略接口 public interface DiscountStrategy {BigDecimal calculateDiscount(BigDecimal amount); }// 具体策略 public class VipDiscount implements DiscountStrategy {Overridepublic BigDecimal calculateDiscount(BigDecimal amount) {return amount.multiply(new BigDecimal(0.8));} }public class FestivalDiscount implements DiscountStrategy {Overridepublic BigDecimal calculateDiscount(BigDecimal amount) {return amount.subtract(new BigDecimal(50));} }// 上下文环境 public class OrderContext {private DiscountStrategy strategy;public void setStrategy(DiscountStrategy strategy) {this.strategy strategy;}public BigDecimal executeDiscount(BigDecimal amount) {return strategy.calculateDiscount(amount);} } 2. 枚举策略简化分支判断 public enum CalculatorStrategy {ADD {Overridepublic int execute(int a, int b) { return a b; }},SUBTRACT {Overridepublic int execute(int a, int b) { return a - b; }};public abstract int execute(int a, int b); } 3. Spring集成版企业级实践 // 定义策略接口 public interface PaymentStrategy {void processPayment(BigDecimal amount); }// 实现策略带Spring注解 Component(alipayStrategy) public class AlipayStrategy implements PaymentStrategy {Overridepublic void processPayment(BigDecimal amount) {// 支付宝支付逻辑} }Component(wechatPayStrategy) public class WechatPayStrategy implements PaymentStrategy {Overridepublic void processPayment(BigDecimal amount) {// 微信支付逻辑} }// 策略上下文自动注入策略集合 Service public class PaymentContext {Autowiredprivate MapString, PaymentStrategy strategyMap;public void executePayment(String paymentType, BigDecimal amount) {PaymentStrategy strategy strategyMap.get(paymentType Strategy);if (strategy ! null) {strategy.processPayment(amount);} else {throw new IllegalArgumentException(Unsupported payment type);}} } 三、策略模式的六大应用场景 场景1电商促销系统 满减策略 折扣策略 赠品策略 积分抵现策略 场景2支付网关路由 支付宝支付 微信支付 银联支付 数字货币支付 场景3日志处理系统 本地文件存储 云存储OSS/S3 消息队列转发 数据库存储 场景4数据校验引擎 手机号校验 身份证校验 邮箱校验 地址校验 场景5游戏AI系统 攻击策略 防御策略 逃跑策略 补给策略 场景6报表生成系统 PDF生成 Excel生成 HTML生成 CSV生成 四、策略模式与相关模式的深度对比 模式关注点与策略模式的关系工厂模式对象创建策略模式常配合工厂创建具体策略状态模式状态转换状态改变行为策略改变算法模板方法模式算法步骤策略替换整个算法模板方法替换步骤命令模式请求封装策略是主动选择命令是被动触发 五、企业级实战支付系统策略架构设计 架构图 复制 [支付请求] -- [支付网关]↓[策略路由中心]↓ -------------------------------- | 支付宝策略 | 微信支付策略 | 银联策略 --------------------------------↓[渠道适配层]↓[第三方支付平台] 代码实现Spring Boot 策略模式 java 复制 // 支付策略接口 public interface PaymentStrategy {PaymentResult pay(PaymentRequest request); }// 支付宝策略实现 Component public class AlipayStrategy implements PaymentStrategy {OverridePaymentType(PayChannel.ALIPAY)public PaymentResult pay(PaymentRequest request) {// 调用支付宝SDKreturn new PaymentResult(true, ALIPAY-123456);} }// 策略工厂自动发现策略 Component public class PaymentStrategyFactory {Autowiredprivate MapString, PaymentStrategy strategyMap;public PaymentStrategy getStrategy(PayChannel channel) {return strategyMap.values().stream().filter(s - s.getClass().isAnnotationPresent(PaymentType.class)).filter(s - s.getClass().getAnnotation(PaymentType.class).value() channel).findFirst().orElseThrow(() - new RuntimeException(未找到支付策略));} }// 支付服务 Service RequiredArgsConstructor public class PaymentService {private final PaymentStrategyFactory strategyFactory;public PaymentResult processPayment(PaymentRequest request) {PaymentStrategy strategy strategyFactory.getStrategy(request.getChannel());return strategy.pay(request);} } 六、策略模式的五个优化技巧 1. 策略预热缓存 public class StrategyCache {private static final MapString, Strategy cache new ConcurrentHashMap();public static Strategy getStrategy(String type) {return cache.computeIfAbsent(type, t - {// 动态加载策略类try {return (Strategy) Class.forName(t).newInstance();} catch (Exception e) {throw new RuntimeException(策略加载失败);}});} } 2. 策略权重配置 # application.yml payment:strategies:alipay: weight: 60enable: truewechat: weight: 30 enable: trueunionpay: weight: 10enable: false 3. 策略性能监控 public class MonitoredStrategy implements Strategy {private final Strategy delegate;private final MeterRegistry registry;public MonitoredStrategy(Strategy delegate, MeterRegistry registry) {this.delegate delegate;this.registry registry;}Overridepublic void execute() {Timer.Sample sample Timer.start(registry);try {delegate.execute();} finally {sample.stop(registry.timer(strategy.execution.time, type, delegate.getClass().getSimpleName()));}} } 七、常见陷阱与解决方案 陷阱现象解决方案策略状态共享线程安全问题使用ThreadLocal或每次新建策略实例策略膨胀失控类数量爆炸使用DSL动态生成策略类策略切换开销大频繁切换影响性能引入策略缓存池策略配置错误运行时找不到策略增加策略fallback机制策略执行顺序依赖策略之间存在依赖关系引入策略责任链模式
http://www.w-s-a.com/news/322174/

相关文章:

  • 网站建设者属于广告经营者吗网站管理程序
  • 网站内容优化方法深圳市宝安区怎么样
  • 视频网站开发视频公司网站制作多少钱
  • 单页简洁手机网站模板购物软件
  • 素材网站官网低价网站建设费用预算
  • 苏州网站设计kgwl个人网站有什么外国广告做
  • 浙江省网站建设报价简单网站开发工具
  • 物流网站的建设wordpress电视直播插件下载
  • 简述网站开发流程青岛做网站建设价格低
  • 网站开发的业务需求分析杭州推广公司
  • 网站建设技术实现难点app开发需要哪些软件
  • 响水建设局网站做网站需要会哪些知识
  • 企业制作企业网站个人网站可以做百度竞价
  • 做网站找投资人wordpress 5 主题教程
  • 做国外网站汇款用途是什么wordpress图片主题晨曦
  • 网站设计跟网站开发区别为什么网站需要维护
  • m 的手机网站怎么做网络推广方式和方法
  • wordpress图片自动轮播插件seo门户网站建设
  • 制作商业网站传奇网页游戏排名
  • 网站免费推广方案长沙房地产网站设计
  • 济南网站建设cnwenhui中交路桥建设网站
  • 韶关网站开发网站建设任务分解
  • 网站建设核心点阿根廷网站后缀
  • 哪些网站可以做招商广告语学校官网页面设计
  • 十堰城市建设网站网站开发流程宜春
  • 内江网站建设郑州网站优化外包
  • 土地流转网站建设项目云南抖音推广
  • 建设银行网站无法打开2021年有没有人给个网站
  • 高端手机网站建设网站建设岗位绩效
  • 泰安网络推广 网站建设 网站优化免费素材网站psd