架构模式 android,床长人工智能教程——Android之MVP架构模式
.声明:本人只是分享一些床长人工智能教程相关的免费杂文而已,并非床长人工智能网校的收费文章。模式是模式在上的一种变体,要介绍就得先介绍。在模式中,应该是属于这一层。而实质上,它既承担了,同时也包含一些的东西在里面。这对于开发与维护来说不太友好,耦合度大高了。把的和抽离出来就变成了和,这就是模式。我在自己的项目里也使用了这个设计模式。当项目越来越庞大复杂,参与的研发人员越来越多的时候,模式的优势就充
.
声明:本人只是分享一些床长人工智能教程相关的免费杂文而已,并非床长人工智能网校的收费文章。
模式是模式在上的一种变体,要介绍就得先介绍。
在模式中,应该是属于这一层。
而实质上,它既承担了,同时也包含一些的东西在里面。
这对于开发与维护来说不太友好,耦合度大高了。
把的和抽离出来就变成了和,这就是模式。
我在自己的项目里也使用了这个设计模式。
当项目越来越庞大复杂,参与的研发人员越来越多的时候,
模式的优势就充分显示出来了。
模式可以说是模式在开发上的一种变种进化模式。
要介绍模式,就不得不先说说模式。
模式的结构分为三部分,实体层的,视层的,以及控制层的。
其中层其实就是程序的界面,用于向用户展示数据以及接收用户的输入而层就是实体类,用于保存实例数据,一些数据模型控制器用于更新界面和数据实例层接受用户的输入,然后通过修改对应的实例同时,当实例的数据发生变化的时候,需要修改界面,可以通过更新界面。
层也可以直接更新实例的数据,而不用每次都通过,这样对于一些简单的数据更新工作会变得方便许多。
总而言之,是模型层,是存放数据模型的。
是视层,用于展示数据的。
是控制层,用于管理更新界面用的。
下面来说一下模式按照的分层,和应该属于层,用于展示界面,以及接收用户的输入,此外还要承担一些生命周期的工作。
是在开发中充当非常重要的角色,特别是的生命周期的功能,所以开发的时候我们经常把一些业务逻辑直接写在里面,这非常直观方便,代价就是会越来越臃肿,超过行代码是常有的事,而且如果是一些可以通用的业务逻辑,比如用户登录,写在具体的里就意味着这个逻辑不能复用了。
如果有进行代码重构经验的人,看到行的类肯定会有所顾虑。
这样一来和就耦合在一起了,虽然这样写方便,但是如果业务调整的话,要维护起来就难了,而且在一个臃肿的类查找业务逻辑的代码也会非常蛋疼,所以看起来有必要在中,把和抽离开来,而这就是模式的工作了。
把中的逻辑抽象成接口,把业务逻辑抽象成接口,类还是原来的。
这就是模式,现在这样的话,的工作的简单了,只用来响应生命周期,其他工作都丢到中去完成。
从上可以看出,是和之间的桥梁,为了让结构变得更加简单,并不能直接对进行操作,这也是与最大的不同之处。
模式的作用有啥呢?
分离了视逻辑和业务逻辑,降低了耦合
只处理生命周期的任务,代码变得更加简洁
视逻辑和业务逻辑分别抽象到了和的接口中去,提高代码的可阅读性
被抽象成接口,可以有多种具体的实现,所以方便进行测试,简单来说一下也是模型层,用于存放数据模型的,也是视层用于展示数据的,是,用于管理模型层和层,相当于架于两者之间的桥梁。
下面来介绍一下代码
这就是模式的包和类。
基本就是定义一个接口类,在定义一个实现类。
把所有的方法都写到接口里面,然后在实现类里面重写接口的方法进行使用。
这样一来,界面清晰,方便与开发和维护。
然后来看一下类,封装了一个登陆用的用户名和密码
再来看一下层的接口类
登录的方法
保存用户名和密码的方法
取出用户名和密码的方法要取出就得返回一个是返回值
接下来是层的实现类
层的接口类在这里,我没有写层的实现类。
给文本框赋值的方法设置
取文本框值的方法
最后来看一下类
登陆方法最终是要在中调用的
,,想要登录就得把用户名密码得到
取出输入框中的用户名和密码
用户名错误登录成功。。。

举报/反馈
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐
所有评论(0)