转向云存储实现与物联网业务需求相匹配的实用策略
233
2023-10-26
【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第2章,第6节,由颜廷吉编著。
2. 主动与被动 MVC模式
根据视图更新方式的不同, MVC 又分为主动模式与被动模式。
( 1 ) 主 动 MVC 模式
主动MVC 模式也就是经典的MVC 模式。 View 不是等 Controller 通知它的 Model更新了 才从 Model取数据并更新显示,而是自己监视Model 的更新(如用观察者模式)或主动询问 Model是否更新桌面程序一般都是主动模式,处理流程如下:
1)为了使视图接口可以与模型和控制器进行交互,控制器执行一系列初始化事件。 2)用户通过视图(用户接口)执行相应操作。
3)控制器处理用户行为并通知模型进行更新。
4)模型触发一系列事件,以便将更新告知视图。
5)视图处理模型变更的事件,然后显示新的模型数据。
6)用户接口等待用户的进一步操作。
这一模式有以下几个要点:
1)视图并不使用控制器去更新模型。控制器负责处理从视图发送过来的用户操作并通 过与模型的交互进行数据的更新。
2)控制器可以和视图融合在一起。
3)控制器不包含对视图的渲染逻辑。
(2)被动 MVC 模式
被动MVC 模式的View 更新是Controller 通知它 Model更新了,然后才从Model 取数据并 更新显示Web 系统一般都是被动MVC 模式,与主动MVC 模式的区别在于:
1)模型对视图和控制器一无所知,它仅仅是被使用。
2)控制器使用视图,并通知它更新数据显示。
3)视图仅是在控制器通知它去模型取数据时,才去模型获取最新数据(视图并不会订 阅或监视模型的更新)。
4)控制器负责处理模型数据的变化。
3. Model1与 Model2
使用JSP 与 Servlet 技术开发 Web 应用程序时,有两种模型可供选择: Modell 和 Model2。
(1)Model1
所谓 Model1就是JSP 大行其道的时代,在Model1 模式下,整个 Web 应用几乎全部由 JSP 页面组成。 JSP 页面接收处理客户端请求,对请求处理后直接做出响应,再用少量的 JavaBean来处理数据库连接、数据库访问等操作,如图2-47所示。
Model1模式的实现比较简单,适用于快速开发小规模项目。但从工程化的角度看,它 的局限性非常明显。 JSP 页面身兼View 和 Controller两种角色,将控制逻辑和表现逻辑混杂 在一起,从而导致代码的重用性非常低,增加了应用的扩展和维护的难度。
早期有大量 ASP 和 JSP 技术开发出来的Web 应用,这些Web 应用都采用了Model1架构。
(2)Model2
Model2模式是基于MVC 的架构模式。在Model2架构中, Servlet作为前端控制器,负责 接收客户端发送的请求,在Servlet 中只包含控制逻辑和简单的前端处理。然后,调用后端 JavaBean来完成实际的逻辑处理。最后,转发到相应的JSP 页面处理显示逻辑。Model2下 JSP 不再承担控制器的责任,它仅仅是表现层角色,用于将结果呈现给用户。 JSP页面的请求与 Servlet交互,而Servlet 负责与后台的 JavaBean 通信。在Model 2模式下, 模型由JavaBean 充当,视图由JSP 页面充当,而控制器则由 Servlet 充当。
由于引入了MVC 模式,使Model2具有组件化的特点,更适用于大规模应用的开发,但 也增加了应用开发的复杂程度。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~