从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要讲解了“spring中有哪些设计模式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“spring中有哪些设计模式”吧!
创新互联专注于安溪企业网站建设,响应式网站,商城网站制作。安溪网站建设公司,为安溪等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
一、策略模式
把算法或者说行为封装成类,然后不同的算法实现为不同的子类,达到灵活调用的效果。把算法封装在方法中,对外提供了一致的接口。
1、bean定义读取器(BeanDefinitionReader)中,里面的资源加载器(ResourceLoader)、bean名称生成器(BeanNameGenerator),用了策略模式。
然后,ClassPathXmlApplicationContext、FileSystemXmlApplicationContext(覆盖了方法Resource getResourceByPath(String path))是DefaultResource的子孙类,表示两种加载xml文件的策略:类路径、系统路径
二、适配器模式
https://blog.csdn.net/w1033162186/article/details/50635348
DispatcherServlet doDispatch方法中,通过HandlerAdapter的handler对象的handle方法,触发接口的方法。HandlerAdapter是适配器,子类有SimpleControllerHandlerAdapter、SimpleServletHandlerAdapter、RequestMappingHandlerAdapter等,把Controller子类对象、Servlet对象、RequestMapping修饰的方法,封装成HandlerAdapter对象,以方便统一调用。
为什么使用适配模式:可以看到处理器(宽泛的概念Controller,以及HttpRequestHandler,Servlet,等等)的类型不同,有多重实现方式,那么调用方式就不是确定的,如果需要直接调用Controller方法,需要调用的时候就得不断使用if else来进行判断是哪一种子类然后执行。这样违背了开闭原则。
三、代理模式
AOP用代理模式实现的,有JDK动态代理(需要实现接口)和CGLib代理(直接给字节码加代码)
四、单例模式
Spring中scope为singleton的bean,用到了单例模式。获取时,使用了双重判断加锁的机制。
AbstractBeanFactory的getSingleton RequestMappingHandlerAdapter
五、工厂模式
aop中,代理的创建用了工厂模式
感谢各位的阅读,以上就是“spring中有哪些设计模式”的内容了,经过本文的学习后,相信大家对spring中有哪些设计模式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图