MV*架构模式模式使用学习

本文介绍了MV*架构模式在软件开发中的应用,特别是MVC, MVP, MVVM在Android开发中的使用。文章讨论了耦合的概念,强调了降低耦合的重要性,并分析了MVC模式的优缺点。接着介绍了MVP模式,通过Presenter作为数据和视图之间的桥梁,实现了更彻底的解耦。最后,文章提供了官方MVP架构项目的链接供深入学习。" 125128736,9942725,2022高处作业安全模拟考试与实战题库,"['安全', '高处作业', '拆除工程', '模拟考试', '职业安全']
摘要由CSDN通过智能技术生成

在开发应用程序的时候,以求更好的管理应用程序的复杂性,基于职责分离(Speration of Duties)的思想都会对应用程序进行分层.

软件工程熟悉的概念:高内聚,低耦合

耦合:

粗略地说,耦合就是两个东西通过某种作用连接在了一起。(我变你也变)

软件工程中耦合是指各个模块依赖程度,耦合越高,维护成本越高

为了便于维护,自然希望耦合越低越好。
 

解耦:

解除耦合,弱化两个东西之间的联系,减少互相之间互相影响。(我变你不变)

耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合

尽量做到高内聚,低耦合

对于我们 Android 开发者来说,常见的架构模式基本上就是 MVC,MVP,MVVM,这三种也是开发 GUI 应用程序常见的模式。
除此之外还有 分层模式,客户端-服务器模式(CS模式),主从模式,管道过滤器模式,事件总线模式 等等。

应用程序的数据为Model,用户界面的层次称为View

MV*(MVC/MVP/MVVM)就是实现了领域模型数据和UI层的解耦。

MVC、MVP、MVVM对其解耦的思路的不同。从历史的角度来看,MVC、MVP和MVVM是一种进化的关系

MVC(Model-View-Centre)的依赖关系

 定义三个接口 (数据、视图、控制)

interface IModel {

    /**
     * 绑定 view
     */
    fun setView(view:IView)

    /**
     * 数据模型 处理输入的数据
     */
    fun dataHandler(data:String)

    /**
     * 数据模型 清除数据
     */
    fun dataCleared()

}
interface IView {

    fun setController(controller:IController)

    /**
     * 数据处理中状态
     */
    fun dataHandlering()

    /**
     * 数据处理完成后 更新界面
     */
    fun onDataHandled(data:String)

}
/**
 * 控制器接口  定义控制器d逻辑
 */
interface IController {

    fun setModel(model:IModel)

    /**
     * 数据变化后 通知控制器
     */
    fun onDataChanged(data:String)

    /**
     * 清空按钮事件
     */
    fun clearData()

}

 分别实现IModel和IController

class CModel :
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值