ad

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.6.2 模式与架构

admin 124 2023-10-26

【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第2章,第6节,由颜廷吉编著。

2.6.2 模式与架构

架构模式 (Architectural Pattern) 描述了出现在特定设计语境中特殊的设计问题,并为 其解决方案提供了一个经过充分验证的通用方式,即软件系统里的基本结构组织或纲要。架 构模式提供一些事先定义好的功能,指定它们的任务,并给出把它们组织在一起的法则和指 南。《面向模式的软件架构》中总结了八种架构模式:模型-视图-控制器 (MVC)、 分层、 管道和过滤器、微核、代理者、黑板、表示-抽象-控制 (PAC)、 映像,本书将重点讲述前 三种 (Java架构设计中常用)。

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.6.2 模式与架构

模式和架构是一个属于相互涵盖的过程,但是总体来说架构更加关注的是所谓的 High- Level Design, 而模式关注的重点在于通过经验提取的“准则或指导方案”在设计中的应用。 在不同的层面上,模式提供不同层面的指导。根据处理问题的粒度不同,从高到低,模式一 般分为3个层次:架构模式、设计模式与代码模式

2.6.3 MVC 架构模式

1. MVC 概述

MVC 模式是模型 (Model)、 视 图 (View)、 控制器 (Controller) 的缩写,是 Xerox PARC 在20世纪80年代为编程语言Smalltalk-80发明的一种软件架构模式,现在已被广泛 应用,如图2-44所示。其核心思想是将业务逻辑从界面中分离出来,允许它们单独改变而 不会相互影响,即将业务逻辑聚集到一个部件里面,在改进和个性化定制界面时,不需要重 新编写业务逻辑,具有低耦合性、高重用性、高可维护性的优点。

模型:代表一个存取数据的对象 (JavaBean), 也包括数据处理与业务逻辑。 视图:包含数据可视化相关处理,但不包含任何业务逻辑。

控制器:控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新 视图。它使视图与模型分离,控制器负责接收来自用户的请求,并调用后台服务来处理业务 逻辑,收集这些数据并为模型在视图层展示做准备。控制器将“模型”和“视图”隔离,

并成为二者之间的联系纽带。

作为一种经典的架构模式, MVC 的成功有其必然性。把职责、性质相近的功能归结在 一起,不相近的进行隔离; MVC 将系统分解为模型、视图、控制器三部分,每一部分都相 对独立,职责单一,在实现过程中可以专注于自身的核心逻辑。 MVC 是对系统复杂性的一 种合理的梳理与切分,它的思想实质就是"分离关注点"。其优点如下:

(1)多个视图可以对应一个模型

按 MVC 设计模式, 一个模型对应多个视图,可以减少代码的重复及代码的维护量,当 模型发生改变时也易于维护。

(2)模型返回的数据与显示逻辑分离

模型数据可以应用任何显示技术,例如:使用JSP 页面、 Velocity 模板或者直接产生 Excel文档等。

(3)提高可扩展性

应用被分隔为N 层,降低了各层之间的耦合,提高了应用的可扩展性。

(4)MVC 更符合软件工程化管理的精神

不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化来管理 程序代码。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.3.4 Scrum 开发模型
下一篇:读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.7.4 演化思维
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×