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

海外网站怎么浏览最近一周国内热点新闻

海外网站怎么浏览,最近一周国内热点新闻,石家庄 网站建设,招聘 负责网站开发1. 策略模式介绍 1、根据它来避免 if-else 或 switch 分支判断,避免使用多重条件转移语句; 2、支持“开闭原则”,可以在原有基础上选择行为方法,同时允许增加行为方法。 2. 策略模式结构类 ① 接口或抽象类:自定义接口…

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 {List<UserInfo> findUserInfos(String authority);List<Order> findOrders(List<Long> orderIds);String insertMember(Member member) throws Exception;void insertUserInfo(UserInfo userInfo);void process(UserInfo userInfo);}

三、第一个接口实现类

@Service
public class ConsumerMemberService implements IConsumerService {@Overridepublic List<UserInfo> findUserInfos(String authority) {System.out.println("ConsumerMemberService开始执行----------------------------");return null;}@Overridepublic List<Order> findOrders(List<Long> 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 List<UserInfo> findUserInfos(String authority) {System.out.println("ConsumerUserInfosService开始执行----------------------------");return null;}@Overridepublic List<Order> findOrders(List<Long> 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.mmbaike.com/news/35790.html

相关文章:

  • 浏览器打不开网页是什么原因长沙网站seo收费
  • 石家庄进入应急状态google seo
  • 网络营销推广渠道有哪些seo教学平台
  • 有和wind一样做用网站在哪里可以做百度推广
  • 巴彦淖尔市做网站公司郑州网络推广哪个好
  • 做豆制品的网站现在阳性最新情况
  • 绿色大气网站模板千锋教育培训多少钱
  • 台州手机网站建设百度学术查重
  • 广州注册公司需要什么条件搜索引擎优化的目的是
  • 重庆政府公众信息网嘉兴seo优化
  • 微信公众号 视频网站开发什么是seo标题优化
  • 沈阳的网站建设seo工程师是做什么的
  • 公益网站 做公益赚钱八零云自助建站免费建站平台
  • 申请网站多少钱信息流广告是什么
  • 是在百度中建设网站?高质量外链
  • 超级简历模板官网seo优化知识
  • 做餐饮网站建设上海优化公司
  • 个人做网站需要资质吗赣州seo推广
  • pinterest网站怎么进seo搜索推广
  • 重庆企业网站制作自己怎么做网页推广
  • 青岛做公司网站的多吗地推推广平台
  • 网站开发专业的建设设想中小企业网站制作
  • 重庆渝网站建设2022年传销最新消息
  • 继续坚持网站建设监管b2b平台是什么意思
  • 满天星建设网站宁波网站推广方案
  • 武汉模板建站系统今日热搜第一名
  • 可以挣钱的设计网站网店推广运营策略
  • 广州公司网站网络竞价推广开户
  • 共享虚拟主机 几个网站如何推广平台
  • wordpress页面单独样式东莞seo整站优化