JavaScript设计模式

来源:互联网 发布:小米手机打不开数据网 编辑:程序博客网 时间:2024/06/05 09:35

一、观察者设计模式

定义:观察者和被观察者之间存在“观察”的逻辑关联,当被观察者发生改变的时候,观察者就会观察到这样的变化,并且做出相应的响应

观察者:发布消息通知订阅者内容有更新 、撤销订阅者

订阅者:订阅观察者当收到观察者发布的消息后,用相应的方法进行更新。


实现:关键是要建立一个二元数组topics[]里面放观察者对象(用于遍历数组发布消息),然后得到这个对象后再添加这个对象的订阅者(用于为数组添加对象)。

例如:我有一个南方日报的  观察者对象,topics["南方日报"],那么南方日报的订阅者有我,那么topics["南方日报"].push({“我”,function(){我知道有更新了}})




二、动态代理设计模式

首先得理解反射机制

1、泛型的反射

例如class A extends B<T>{},获取T

方法:getGenericSuperClass()得到父类的类型,然后用ParameterizedType判断此类是否带泛型,然后用ParameterizedType.getActualTypeArguments()来获取当前类型的泛型数组。

2、动态代理


未续待完......



---------------------------------------------------------------------------------------------------------

SpringMvc框架原理

1、HTTP请求--->DispatcheServelet(servlet.xml)--->HandlerMapping--->Controller--->Service--->ModelAndView--->DispatcheServlet--->(JSP,JSTL,HTML,PDF)

2、DispatcheServlet是SpringMvc的核心,本质是HttpServlet,通过在web.xml配置servletMapping来处理request请求,当DistpatcheServlet接收到request时,调用servlet-*.xml来寻找相应的HandlerMapping,然后通过HandlerMapping找到Controller,并找到对应的方法调用Service实现业务逻辑,返回ModelAndView

0 0
原创粉丝点击