首页 > 其他分享 >利用 spring 的 bean 和策略模式优雅的写出可扩展的代码

利用 spring 的 bean 和策略模式优雅的写出可扩展的代码

时间:2022-10-09 12:06:36浏览次数:44  
标签:方案 spring 代码 接口 优雅 bean 计算


  代码的的其中有个设计原则就是:开闭原则。

  我们在开发过程中经常会遇到这样的问题:就是往往需要有不同的计算方案,比如促销方案,打折。

  这个例子就是通过利用 spring 的对 bean 的管理,利用面向接口编程,写出来易于遵守开闭原则的代码,不再使用if  else  或者 swatch

 

# # 第一步是定义一个计算的接口

 

# # 第二步是将每一种计算方案来实现这个接口,并单独维护。这个来解决对源代码修改的问题。

  这一步需要注意的是,将写实现类,交给spring 来管理。注册成 bean 的形式

利用 spring 的 bean 和策略模式优雅的写出可扩展的代码_spring

 

# # 第三步在 service 层,使用spring 管理 bean 的功能,来使用策略模式,进行选择计算方案。

  先注入 ,红色的是对应的定义好的接口的名称

利用 spring 的 bean 和策略模式优雅的写出可扩展的代码_开闭原则_02

 

   接着在下边调用:

利用 spring 的 bean 和策略模式优雅的写出可扩展的代码_spring_03

 

# # 需要注意的地方在于 第二步bean 的名字,要和 第三步传的参数可以对应起来

 

 

 

标签:方案,spring,代码,接口,优雅,bean,计算
From: https://blog.51cto.com/u_15812686/5740070

相关文章

  • spring 源码之 IOC 容器的初始化过程
     学习 spring源码真的是一件痛并快乐的刺激的事。昨天听了别人的视频,任然是一头雾水,层次不一样,就不太容易接受。直接打开spring源码,断点调试,有点难度。于是又捧起书,《深......
  • Springboot创建项目(idea版本)
    一:概述由于springboot项目,不管是java工程还是web工程都可以直接以jar方式运行,所以推荐创建jar工程,这里创建jar工程项目为例。二:两种方式创建springboot项目1.第一种方式手动......
  • Spring多数据源配置
    Spring多数据源配置,这里持久层框架使用mybatis,集成Mybatis多数据源有两种方式:1、创建多个SqlSessionFactory,扫描每个SqlSessionFactoryBean对应的包,形成了每个Factory对应一......
  • Springboot自定义Stater
    1、默认启动器Boot会将项目中常用的场景做成对应的starter启动器,项目中涉及到什么场景就引入该场景对应的启动器,项目中引入这些启动器之后,和这个starter相关的依赖也会被引......
  • Spring读取配置文件
    一、Resource在Java程序中,我们经常会读取配置文件、资源文件等。使用Spring容器时,我们也可以把“文件”注入进来,方便程序读取。Spring提供了一个​​org.springframework.co......
  • Springboot自动配置原理
    一个boot项目启动类有个@SpringBootApplication注解,查看此注解主要包括@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个注解@SpringBootConfigura......
  • springCloud 中 当需要有生产者集群的时候几个关键点
     前提条件是:使用Eureka 作为注册中心,并且搭建好了 Euraka 集群。当我们需要使用 多个生产者来形成集群来达到高可用。 生产者就是服务提供者,消费者就是服务调用者。 ......
  • springcloud- Eureka 单机版注册中心
    eureka 使用过程 简单的梳理:服务客户三步走,pom,yml,主启动。 首先搭建 eureka 注册中心服务 创建一个 maven 项目 ##引入相关的pom<?xmlversion="1.0"encoding......
  • 说说 Spring 定时任务如何大规模企业级运用
    作者:姚辉(千习)Spring定时任务简介定时任务是业务应用开发中非常普遍存在的场景(如:每分钟扫描超时支付的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报......
  • 把你的springboot启动图(banner)设置成圣嘉然!
    在resource文件夹下面新建一个banner.txt的文件!然后插入如下的文字!点击查看代码...,]]]/@@@@@O]]]]]`........,]]]..............