关于基于MVC网站架构的思考

news/2024/5/17 22:20:31/文章来源:https://blog.csdn.net/qq_21264377/article/details/102838416

关于MVC的定义

比较完整的参考:https://www.wikidata.org/wiki/Q44860

MVC是一种设计模式Software Design Pattern,不管在桌面应用亦或是网站程序中,都是比较常用流行的一种架构设计。M代表Model,V代表View,C代表Controller,即是模型、视图和控制器。模型是数据的结构模型,视图是数据的表现形式,而控制器则是数据的组织和处理。MVC设计模式在网站架构中有一个别名叫三层模式。三层模式中,M是指数据库及其支撑驱动,V代表网页表现形式,如网页模板,C则对应从数据库到网页之间的数据管理和处理。

MVC之间的关联

MVC Relationship关系图
MVC关系图

(参考图来源:https://blog.csdn.net/bobo89455100/article/details/61623242)

这张图示显示表明MVC模式中三者的关系和行为组织。Model和View之间不直接交互,而是通过Controller进行过程处理和数据传递。View是用户交互界面,负责数据的输入传递和表现形式。Model是数据结构和存储模型,表示对象的属性和行为。Controller是过程和交互的控制器,代表进程的具体处理。

MVC的适用范围

关于适用范围,直观的理解是,需要进行分层架构设计的信息系统。那哪些系统设计需要分层进行?一般来说,分层是逻辑的需求到物理实现的需求。在一些比较复杂的信息系统中,为了需要充分理解系统设计的初衷和后续进行,便于项目管理,在系统架构上对目标系统进行分层次设计。随着工程项目的推进演变,需要进行不同层面的工作,分工合作。MVC设计模式适当的指明系统设计工作的层次内容。在MVC的定义中提到,MVC分别对应了信息系统的几个组成部分。这也即是表示,在项目的生命流程中,各个过程分别对应这MVC中的概念和内容。这使得MVC在系统架构中对不同角色的职责进行了较为详细明确的划分。能使项目计划比较容易得以制定和实施。

是否决定使用MVC模式,仍需参考项目的详细设计和代码实现的需求。虽然MVC对软件工程具有显著的效果,考虑到详细设计和最终实现之间的关联,在系统实现环节,需要的工作量和考量系统实施资源的消耗和效益比才是最重要的。因为“物质决定一切”,系统架构的最终目标是架构设计和系统效益之间的均衡。设计模式是特定问题的解决方案。是否用MVC或者在哪里使用它,需要考虑它是否满足基本对特定问题的条件。

所以在项目中,考量设计模式对信息系统实现的工作量和实施消耗是否达到要求至关重要。在一些繁复的系统设计中,抽丝剥茧,逻辑分层无疑是不错的选择。专业的工作交给专门的人员处理,事半功倍。又比如,MVC模式本身表明具有较高的可重用性。在系统项目集成当中,可重用性具有明显的压缩工作量的效果。减少重复工作,工作效率自然而然得到提高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_794515.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于使用PHP网站作采集用途的看法(其一)

记得几年前,“我”还是有点洞察力的“萌新”,曾有人建议“我”为网站修改“自动采集”功能。这的确是一个很好的想法,不需要额外的编程语言和IDE工具,自动增加网站内容的同时,还能为网站编辑减轻不少负担并提高编辑的创…

Python + Selenium:自动翻页爬取某图片网站指定图集

简单来说,爬取工作前期任务是了解目标网站的体系结构和“反爬策略”,然后是根据现有软硬件资源环境条件设计代码,反复迭代测试,最终实施部署。 之前,写过爬取图片网站的PHP和Python代码spi之类,通过读取HT…

Python + Selenium: 爬取某社交门户网站新闻栏目焦点

以前通过直接获取的HTML文本内容分析过,但是明显毫无结果。彼时深切体会到要想测试爬取“普通”反爬虫策略级别以上的网站内容,必须从浏览器内核级别入手。因为只有彻底模拟浏览器的行为,才无法被机器人100%识别为爬虫而遭到限制或拒绝服务。…

多层次应对HTTPS网站超时:selenium.common.exceptions.TimeoutException

现在网络越来越普及,带宽速度普遍也有较大提升。伴随网络的普及,同时快速增长的还有网民的数量和网络流量。网站超时响应的“通病”,仍然是无法完全避免的。尤其是在网络流量高峰期访问HTTPS网站,使用类似Selenium的浏览器内核驱动…

阿里云轻量服务器部署PHP网站(基于Lamp)

一:首先登陆阿里云账户购买轻量服务器(这里就不详细介绍啦)【轻量服务器会提供PHP,Apache,Mysql,不需要我们自己安装,方便很多】 如果是选择阿里云ecs服务器的话可以参考:https://blog.csdn.net/qiaosym/article/deta…

[转载]使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

访问GitHub下载最新源码:https://github.com/gaussic/Sp... 文章已针对IDEA 2016做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。另外:文中的附图部分仍然为旧版本,请参照自身版本进行配置。 前言 由…

ASP.NET 2.0中轻松实现网站换肤

: 查看个人网站 查看详细资料 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xh…

JQuery 的跨域方法 可跨任意网站

因发现有不少博友发园内短信问及JS的跨域问题,我想很多程序员的脑海里面还认为JS是不能跨域的,其实这是一个错误的观点;有很多人在网上找其解决方法,教其用IFRAME去解决的文章很多,真有那么复杂吗?其实很简…

推荐一个可以往blog里面加入旅行线路图的travel map网站

今天无意中发现这个网站,Free Travel Map Widget,可以很方便的做一个travel map,然后生成html代码放到blog里面。效果可以看看我之前的泰国和欧洲的blog更新,加了map。转载于:https://www.cnblogs.com/fresky/archive/2010/11/03/…

高性能网站建设之减少Http连接数

关于CSS背景图合并工具,请大家参看随笔:Css背景图合并工具功能增强(V0.1) 在对大访问量网站进行性能优化时,其中有一点是尽量减少http连接数,道理很明了,减少了单个PV的http连接数,…

通过脚本方式导出SharePoint网站集用户及其角色列表

这是课堂上的一个例子,分享出来给大家参考用。如果你管理一个或者多个网站集,那么这个脚本将有助于你快速地了解用户信息。 管理员们,懂点脚本还是很有用的哦,呵呵 将下面的脚本保存为一个ps1文件function Get-UsersWebPermission…

php与mysql网站开发..._Mysql 与 php动态网站开发 入门教程,mysql网站开发_PHP教程...

Mysql 与 php动态网站开发 入门教程,mysql网站开发这个系列的教程由表单开始写,因为表单可以把数据库和web 之间的交互表现得很明显。提交表单 ,数据库记录注册信息。本教程属于基础教程。大神请略过。对于php和mysql之间的稳固性很受程序员的…

linode服务器登录网站,linode 服务器

linode 服务器 内容精选换一换云服务器组是对云服务器的一种逻辑划分,云服务器组中的弹性云服务器遵从同一策略。当前仅支持反亲和性,即同一云服务器组中的弹性云服务器分散地创建在不同的主机上,提高业务的可靠性。您可以使用云服务器组将业…

黑人抬棺html网站源码

黑人抬棺html源码 成品地址:https://www.52fenxiang.top/hrtg/ 源码下载地址:https://www.52fenxiang.top/thread-448-1-1.html

用DIV+CSS的网页布局对SEO的好处

为什么80%的码农都做不了架构师?>>> DIVCSS是网站标准(或称“WEB标准”)中常用术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中&a…

最新70佳单页网站设计案例欣赏(下篇)

单页网站是指只有一个页面的网站,这种形式的网站曾经非常流行,现在依然有很多人喜欢。不过,并不是每个网站都适合做成单页,一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站&#xff0…

在线压缩图片网站源码

今天分享给小伙伴一份在线压缩图片的网站源码,也算是比较实用的一份源码,测试地址我会贴在【效果展示】段落下面,喜欢的小伙伴自行下载吧。 #效果展示 效果展示:图片在线压缩效果展示 来自:12580code源码站

表白网站源码-html源码

#源码介绍 一份表白网站源码,里面用到的一些小技巧还是可以学习的,需要用的的小伙伴可以拿去用哈,下载完成后打开index.html,然后修改文本和修改图片就可以啦,小二在这祝你们成功哦(哈哈哈哈哈哈&#xff0…

对SEO优化有一定作用的DIV+CSS命名规则

为什么80%的码农都做不了架构师?>>> SEO(搜索引擎优化)有很多工作要做,其中对代码的优化是一个很关键的步骤。为了更加符合SEO的规范,下面中部IT网将对目前流行的CSSDIV的命名规则整理如下: 页头:header 登录条:login…

CJC(一): ToStringBuilder两种方法用法优缺点及一个问题 - rmn190 - ITeye技术网站

CJC(一): ToStringBuilder两种方法用法优缺点及一个问题 - rmn190 - ITeye技术网站CJC(一): ToStringBuilder两种方法用法优缺点及一个问题 博客分类:Source Codes Study设计模式F#Security CJC是Common Java Cookbook的缩写, 这是一本介绍ApacheCommon开源项目的电…