常用设计模式应用场景:
1.单例模式
spring容器的只有一个application对象,spring的bean作用域,默认是单例singleton,多例模式prototype。
2适配器模式
在springmvc中,前端控制器去向处理器映射器请求handle,然后返回一个handler执行链,然后前端控制器拿着这个handler,去请求处理器适配器,处理器适配器拿着这个controller(handler),做匹配对应的controller中的方法,然后返回一个modelandview给前端控制器。
3.工厂模式
Spring中的beanfactory。
4.代理模式
Spring的动态代理,jdk和cglib,jdk是基于拦截器和反射机制生成接口的匿名类,cglib是基于asm开源包,class加载之后,修改字节码生成子类来处理。
5.装饰者模式
hibernate的sesssion线程的关闭,是采用的装饰者模式。
6.观察者模式
在zookeeper中,有观察者作为监控更新节点信息,但是并不会参与投票