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

中核工建设集团网站重庆网站建设公司夹夹虫专业

中核工建设集团网站,重庆网站建设公司夹夹虫专业,手机制作音乐app,手机全屋定制设计app1. 策略模式介绍 1、根据它来避免 if-else 或 switch 分支判断#xff0c;避免使用多重条件转移语句#xff1b; 2、支持“开闭原则”#xff0c;可以在原有基础上选择行为方法#xff0c;同时允许增加行为方法。 2. 策略模式结构类 ① 接口或抽象类#xff1a;自定义接口…1. 策略模式介绍 1、根据它来避免 if-else 或 switch 分支判断避免使用多重条件转移语句 2、支持“开闭原则”可以在原有基础上选择行为方法同时允许增加行为方法。 2. 策略模式结构类 ① 接口或抽象类自定义接口或抽象类由多个实现类具体实现 ② 抽象方法实现类中可以继承或重写它 ③ Bean实例Spring提供注入ApplicationContext即应用上下文接口获取通过不同BeanName(JDK提供的Resource依赖注入原理)实现分支判断转移语句。 3.策略模式代码案例 一、首先定义枚举类通过name绑定BeanName public enum ServicesNameEnum {CONSUMER_MEMBER(consumerMember, consumerMemberService),CONSUMER_USERINFOS(consumerUserInfos, consumerUserInfosService);private final String name;private final String beanName;ServicesNameEnum(String name, String beanName) {this.name name;this.beanName beanName;}/*** 通过name获取IOC中对象实例** param name* return*/public static String getBeanNameByName(String name) {for (ServicesNameEnum servicesNameEnum : ServicesNameEnum.values()) {if (servicesNameEnum.getName().equals(name)) {return servicesNameEnum.getBeanName();}}return name;}public String getName() {return name;}public String getBeanName() {return beanName;} } 二、定义接口 public interface IConsumerService {ListUserInfo findUserInfos(String authority);ListOrder findOrders(ListLong orderIds);String insertMember(Member member) throws Exception;void insertUserInfo(UserInfo userInfo);void process(UserInfo userInfo);}三、第一个接口实现类 Service public class ConsumerMemberService implements IConsumerService {Overridepublic ListUserInfo findUserInfos(String authority) {System.out.println(ConsumerMemberService开始执行----------------------------);return null;}Overridepublic ListOrder findOrders(ListLong orderIds) {System.out.println(ConsumerMemberService开始执行----------------------------);return null;}Overridepublic String insertMember(Member member) throws Exception {return null;}Overridepublic void insertUserInfo(UserInfo userInfo) {}Overridepublic void process(UserInfo userInfo) {}}四、第二个接口实现类 Service public class ConsumerUserInfosService implements IConsumerService {Overridepublic ListUserInfo findUserInfos(String authority) {System.out.println(ConsumerUserInfosService开始执行----------------------------);return null;}Overridepublic ListOrder findOrders(ListLong orderIds) {System.out.println(ConsumerUserInfosService开始执行----------------------------);return null;}Overridepublic String insertMember(Member member) throws Exception {return null;}Overridepublic void insertUserInfo(UserInfo userInfo) {}Overridepublic void process(UserInfo userInfo) {}} 五、依赖注入ApplicationContext容器对象根据BeanName获取具体对象实例 Autowiredprivate ApplicationContext applicationContext;RequestMapping(value /getInstanceByBeanName,method RequestMethod.GET)public void getInstanceByBeanName(String name) {// 获取namename consumerUserInfos;// name绑定BeanNameString beanName ServicesNameEnum.getBeanNameByName(name);// ApplicationContext即应用上下文通过BeanName获取具体对象实例(JDK提供的Resource原理)// IConsumerService 为接口或抽象类并且多个实现类最终实例对象由beanName决定IConsumerService iConsumerService (IConsumerService) applicationContext.getBean(beanName);// 多态最终调用实现类的重写方法iConsumerService.findUserInfos(null);}六、控制台执行结果 ConsumerUserInfosService开始执行----------------------------
http://www.w-s-a.com/news/939340/

相关文章:

  • 网站开发都用什么软件上海景观设计公司10强
  • 网站建设氵金手指下拉十二深圳网站建设售后服务
  • 上海网站设计价青海企业网站制作
  • 静态网站做新闻系统深圳外贸网站建设哪家好
  • 网站如何做词360免费wifi老是掉线怎么办
  • 网站建设分金手指排名十八iis10 wordpress
  • 成都网站优化公司哪家好网站建设帮助中心
  • 做外单什么网站好佛山市建设企业网站服务机构
  • 哪些网站是单页面应用程序北京门头沟山洪暴发
  • 织梦(dedecms)怎么修改后台网站默认"织梦内容管理系统"标题关键词优化收费标准
  • 网站设计和备案企业官网网站建设免费
  • 公司概况-环保公司网站模板搜索引擎营销的基本流程
  • 门户网站建设经验天津市建设银行租房网站
  • 百度推广 帮做网站吗怎样修改网站的主页内容
  • 网站怎么做dns解析公司官网改版方案
  • 湛江市住房和城乡建设局网站杭州网站公司哪家服务好
  • 设计网站公司湖南岚鸿设计镜像的网站怎么做排名
  • 你注册过哪些网站微信app下载安装官方版2019
  • 杭州滨江的网站建设公司人才招聘网网站策划方案
  • 门户网站是指提供什么的网站网站优化需要工具
  • 和小男生做的网站代理公司注册步骤
  • 天猫网站建设的目标是什么seo有些什么关键词
  • 网站前端建设都需要什么莱芜信息港网页
  • 如何做360网站优化网站建设培训教程新手入门到精通
  • 做网站有的浏览器怎么做网站网站赚钱
  • 织梦 做网站 教程百度登录个人中心官网
  • ftp怎么修改网站wordpress分享积分
  • 营销策划方案的步骤西安关键词优化软件
  • 南宁自己的网站移动互联网技术学什么
  • 2017湖北建设教育协会网站自己接单做网站