Spring中的设计模式
所属分类 DP
浏览量 587
简单工厂 静态工厂方法(StaticFactory Method)模式
BeanFactory
Object getBean(String name) throws BeansException;
工厂方法(Factory Method)
FactoryBean
T getObject() throws Exception;
单例(Singleton)
原型模式
模板 Template
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中
使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤
JdbcTemplate
策略(Strategy)
Resource接口
UrlResource 访问网络资源
ClassPathResource 访问类加载路径里资源
FileSystemResource 访问文件系统里资源
ServletContextResource 访问相对于ServletContext路径里的资源
InputStreamResource
ByteArrayResource
代理(Proxy)
aop 动态代理
JdkDynamicAopProxy Cglib2AopProxy
观察者(Observer)
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新
ApplicationListener
spring容器事件机制
包装器(Decorator)
动态地给一个对象添加一些额外的职责 比生成子类更为灵活
类名中 包含 Wrapper 或 Decorator
BeanWrapper
适配器(Adapter)
SpringMVC中的适配器
org.springframework.web.servlet.HandlerAdapter
DispatcherServlet根据HandlerMapping返回的handler,向HandlerAdatper发起请求,处理Handler
HandlerAdapter根据规则找到对应的Handler并让其执行,执行完毕后Handler会向HandlerAdapter返回一个ModelAndView,最后由HandlerAdapter向DispatchServelet返回一个ModelAndView。
Spring定义了一个适配接口,使得每一种Controller有一种对应的适配器实现类,让适配器代替controller执行相应的方法
这样在扩展Controller时,只需要增加一个适配器类就完成了SpringMVC的扩展
设计模式小结
上一篇
下一篇
tdengine 在时序场景下 一些设计要点
吃在杭州
知识点汇总
设计模式之Facade
Java Files 常用方法
hibernate Session get()和load()方法区别