风险提示:理性看待区块链,提高风险意识!
技术指南:MVC是什么-合理的设计我们的应用
首页 > 币界资讯 > 区块链知识 2019-01-26 13:00:00

 目标

1.理解 MVC 架构的概念

2.能够在项目中应用 MVC 架构模式

任务实现

12.1 MVC

应用程序开发人员在工作中都需要考虑一些问题,如:

如何简化开发

如何降低应用程序的耦合性

如何提高代码的重用性

如何提高应用程序的可扩展性及维护性

……

1979年,由 Trygve Reenskaug 在 Smalltalk-80 系统上首次提出了 MVC 的概念,主要核心就是由专业的人做专业的事。MVC 模式代表 Model(模型)-View(视图)-Controller(控制器)模式。这种模式主要应用于应用程序的分层开发。将应用程序中显示什么数据、数据由谁处理、怎么处理进行分离,可以由不同的开发人员专注于自己的领域,而无需关注其它。

12.1.1 MVC架构概念

MVC将应用程序划分为三种组件,并明确定义了它们之间的相互作用:

模型(Model):用于封装与应用程序的业务逻辑相关的数据以及对数据的处理法。”Model”有对数据直接访问的权力,例如对数据库的访问。”Model”不依赖”View”和”Controller”,也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变

视图(View):能够实现数据有目的的显示。在 View 中一般没有程序上的逻辑。为了实现 View 上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册

控制器(Controller):可以将控制器理解为一个桥梁,处理事件并作出响应。负责从视图读取数据,控制用户输入,并向模型发送数据

12.1.2 MVC架构优缺点

不论是什么技术,使用什么理念,尤其是能够经过长时间的应用实践,都有其显著的优点,有优点,也必然存在一些缺点,下面我们来看一下 MVC 模式的优缺点。

优点

高内聚性 - MVC可以在控制器上对相关操作进行逻辑分组。特定模型的视图也可以组合在一起。

耦合性低 - MVC框架的本质是模型,视图或控制器之间的耦合较低

重用性高 -允许使用各种不同样式的视图来访问同一个服务器端的代码;将数据和业务规则从表示层分开,可以最大化的重用代码。模型也有状态管理和数据持久性处理的功能

提高可扩展性与可维护性 - 由于分离视图层和业务逻辑层也使得WEB应用更易于维护和修改

利于项目的管理 - 由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求

简化了分组开发-不同的开发人员可同步开发应用项目中的视图、控制器逻辑和业务逻辑

缺点

增加系统结构及代码量-对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性及相应的代码量

不适用于中小型应用项目 - 将MVC应用到规模并不是很大的应用程序通常会降低开发效率,增加开发成本

显著的学习曲线 - 关于掌握多种技术的知识成为常态。使用MVC的开发人员需要熟练掌握多种技术

12.1.3 MVC架构的实际应用

MVC 不是一种技术,而是一种理念。下面是一个通过 JavaScript 所实现的基于 MVC 模型,在这个简短的代码中就写成了一个具有完整 MVC 架构模式概念的示例。

未经授权禁止转载、改编,转载请注明出处!

上一篇: 神奇的零知识—深入浅出zkSNARKs(一)
下一篇: ETH智能合约系统Fae—开发高性能区块链的“懒”方法
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,810.46
37,103.37 USDT
+0.1%
ETH以太坊
¥14,413.37
2,019.50 USDT
0%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,629.54
228.32 USDT
+0.63%
XRP瑞波币
¥4.32
0.60480 USDT
+0.45%
USDC
¥7.14
1.00 USDT
+0.04%
SOLSolana
¥400.45
56.11 USDT
+1.59%
OKBOK币
¥399.37
55.96 USDT
-1.23%
ADA艾达币
¥2.67
0.37480 USDT
-1.32%
DOGE狗狗币
¥0.55330
0.07753 USDT
-1.01%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.481E-5 USDT
-18.15%
Gala
¥0.18
0.025383 USDT
-4.86%
dYdX
¥22.63
3.1984 USDT
-0.73%
比特股
¥0.05
0.006569 USDT
-1.93%
PancakeSwap
¥15.60
2.2054 USDT
-2.16%
Conflux
¥1.08
0.1531 USDT
-2.36%
Filecoin
¥31.55
4.4597 USDT
-0.5%
FTX Token
¥29.65
4.1911 USDT
+15.24%
Yield Guild Games
¥2.56
0.3615 USDT
-0.55%
Shiba Inu
¥0.00
8.15E-6 USDT
-2.16%
比特币
¥262,467.38
37103.37 USDT
+0.1%
比原链
¥0.07
0.010022 USDT
-4.68%
最新快讯
更多
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
NicCarter等比特币倡导者发文:比特币挖矿是清洁能源和平衡电网的关键工具
2023-11-28 18:47:58
下载币界网APP