JavaScript设计模式

本文深入探讨了观察者设计模式与动态代理设计模式的核心概念、实现方式及应用实例,详细阐述了如何利用这些设计模式解决实际编程问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、观察者设计模式

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

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

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


实现:关键是要建立一个二元数组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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值