时间:2024-04-11 17:44:03 浏览:928
mvp形式♥ MVP设计形式
1、让我们思索一下为什么在Android开发中如此迫切地需求一个明晰的软件架构?
2、在Android开发中,假设你不思索架构的话,Activity类往往会越来越大。这是由于,在Android中,允许View和其它线程共存于Activity内。其实最大的效果莫过于在Activity中同时存在业务逻辑和UI逻辑。这会添加测试和维护的本钱。
3、 MVP代表Model,View和Presenter。
4、下图是基于MVP架构的形式之一。View是UI线程。Presenter是View与Model之间的适配器。UseCase或许Domain在Model层中,担任从实体获取或载入数据。依赖规则如下
5、关键是,高层接口(普通为Activity或许Fragment)不知道底层接口的细节,或许更准确地说,高层接口不能,不应该,并且必需不了解底层接口的细节,是(面向)笼统的,并且是细节隐藏的。
6、示例见:
7、其实Present担任业务,Activity只是完成了底层接口,但是没有调用IView方法,详细调用方法在哪里调用,应该是属于业务层的,我们一定交给Present去管理。
1、MVP是一种罕见的软件架构形式,它将软件运用顺序分为三个主要局部:模型(Model)、视图(View)和控制器(Presenter)。在MVP架构中,模型层用于处置数据和业务逻辑,视图层担任用户界面的展现,而控制器层则作为中介,担任协调模型层和视图层之间的交互。
2、MVP的方式可以分为两种:传统MVP和主动视图MVP。
3、传统MVP方式是指,视图层和控制器层之间会相互援用,因此视图层可以直接调用控制器层中的方法。这种方式的MVP比拟复杂,易于完成,但是视图层和控制器层之间的耦合度较高,不够灵敏。
4、主动视图MVP方式则是指,视图层和控制器层之间没有相互援用,它们经过一个接口停止交互。这种方式的MVP相对来说愈加灵敏,可以很好地完成单元测试和代码重用,但是完成起来相对复杂一些。
5、总之,MVP是一种十分适用的软件架构形式,它可以协助开发人员更好地组织代码,提高代码的可读性和可维护性。在实践开发中,开发人员可以依据自己的需求选择传统MVP或主动视图MVP方式,以完成最佳的效果。
标签: