网站首页 > 技术文章 正文
MVC作为WEB程序的通用架构深受广大WEB程序员的拥护。 更是广泛成为面试题、考试试题、答辩问题等题材进行使用。
目前主流的语言框架及WEB系统大部分都是以MVC做为基础架构进行编写的。对于初学者而言理解MVC架构与熟悉业务逻辑的编写能极大的缩短学习一门语言框架的时间。然而初学者仅通过教材或许很难真正的理解MVC的架构及用法,在学习的过程中也可通过分析理解一些经典的语言框架进行学习。(例如:JSP + servlet + javabean)
初步认知
MVC模型:作为一种架构型的模式,无法直接实现功能添加,其主要作用是帮助我们对开发结构进行分层,使得代码结构更佳清晰合理化,将模型(model)、视图(view)、控制器(controller)进行分离。
将MVC通俗的理解可以想象成建筑一栋高楼大厦:
MVC:最终项目展示结果
模型(Model):建筑材料、建筑工具的集合(WEB项目中的数据模型及函数方法模型)
视图(View):建筑设计图纸、建筑展示效果图(WEB项目中数据的展示形态,优化丰富控制器传递过来的数据并进行展示)
控制器(Controller):建筑工程师、施工人员(WEB项目中通过调取对应数据模型及函数方法模型产生数据并传递给相关视图层)
施工人员(Controller)通过使用建筑工具(Model)将建筑材料(Model)按着设计图纸(View)进行搭建填装,最后组装成一栋高楼大厦。
深入理解
模型(Model):模型层的重点在于模块化,重点思路在于将可复用可集成的代码封装成函数方法集成在模型层中方便复用及代码维护。(例如:用户登录验证,这段代码可能在多个不同的控制器中都需要使用,若将其封装成方法写入模型层,则控制器如果有需求只需导入对应的模型层并以传参的方式进行调用既可省去大量重复代码,并且在进行维护的时候也仅需对模型层中的封装方法进行修改就能实现全局维护)
视图(View):视图层的重点在于数据展示,视图层的框架要便于数据展示,避免大量逻辑代码的存在,尽量通过简单的循环语句将控制层获取的数据进行展示,所以的数据处理应尽量于控制层与模型层实现。(当然视图层也可以适当使用模块化的设计思路,例如:标准WEB网站中,大量网页头部及尾部代码都是重复的,这些重复视图层代码可以通过MVC模式的思路封装到一个单独的HTML页面,在需要时通过相关语句载入对应的页面中,可以大量减少重复代码。)
控制器(Controller):控制层主要做为模型层与视图层的控制中枢。控制器应避免重复视图层与模型层的工作,将数据的展示封装至模型层,可复用的数据获取与数据逻辑处理则在模型层中封装成函数方法。控制层应做到精简。
学编程技术,就到W3Cschool,如果你喜欢我们的文章,可以点击右上角关注我们;如果你想看到更多IT界的资讯,可以加我们的公众号。
公众号:w3cschoolcn
猜你喜欢
- 2025-06-15 Windows实时拓展架构-鸿道Intewell-win构型
- 2025-06-15 Python交互仪表盘工具:Panel 进阶学习路线图
- 2024-10-04 三分钟介绍什么是前端开发框架 前端框架百度百科
- 2024-10-04 手把手教你画架构图,看一次就会了
- 2024-10-04 这些逻辑架构图,能让瞬间明白化繁为简的意义。
- 2024-10-04 系统设计之6大架构,你知道几个? 系统架构设计方案
- 2024-10-04 高性能前端架构解决方案 前端性能工具
- 2024-10-04 说一说我对前端构架的理解,走过路过不要错过
- 2024-10-04 架构设计最全详解(万字图文总结) 架构设计步骤
- 2024-10-04 企业架构8——功能架构及信息架构图
你 发表评论:
欢迎- 576℃几个Oracle空值处理函数 oracle处理null值的函数
- 573℃Oracle分析函数之Lag和Lead()使用
- 559℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 557℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 552℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 543℃【数据统计分析】详解Oracle分组函数之CUBE
- 531℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 527℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)