软件的模式(MVC、MVVM、MVP)

本文详细介绍了MVC、MVP和MVVM三种软件设计模式,阐述了它们的概念、角色、模式说明、优缺点。MVC模式将应用分为模型、视图和控制器,降低了耦合度,但可能增加复杂性。MVP模式进一步分离视图和模型,提高代码复用,但也可能导致视图和Presenter交互过于频繁。MVVM模式通过双向绑定简化视图和模型的交互,降低了开发难度,适合复杂应用。
摘要由CSDN通过智能技术生成

目录

一、MVC框架

1、MVC概念

2、角色说明

3、模式说明

4、优点

5、缺点

二、MVP模式

1、MVP模式概念

2、模式说明

3、MVP框架模式图

4、优点

5、缺点

三、MVVM框架

1、MVVM概念

2、模式说明

3、MVVM模式的组成部分

 4、优点


一、MVC框架

1、MVC概念

MVC全名是Model View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

2、角色说明

类型 定义 作用 使用方式
M(Model) 模型层(表示数据模型)

业务逻辑/数据存储

是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

写成“外观类(facade class)”
V(View) 视图层

展示界面,接收用户输入

是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

通过XML文件描述界面,即布局文件,Activuty
C(Controller) 控制层

连接V层、M层、完成View层与Model层的交互。业务逻辑处理

是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

Activity

3、模式说明

 View层接收用户的输入:

(1)需要UI变化操作(不涉及业务数据调用),直接与Controller交互(紫色线条)

(2)需要修改Model层的数据,需要通过Controller才能修改(蓝色线条)

(3)View层也可以直接更新Model的数据而不必通过Controller(黑色线条)

(4)Model里的数据发生变化时,如果需要修改UI,则需要通过Controller对View通知更新UI(红色线条)

MVC简单的框架模式图

4、优点

耦合性低

由于视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。

模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。如果把数据库从MySQL移植到Oracle,或者改变基于RDBMS数据源到LDAP,只需改变模型即可。一旦正确的实现了模型,不管数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值