“你能做个淘宝、微信吗?”

前两天技术交流群里一个小伙伴突然问:

新葡亰棋牌网站不知道你们有没有遇到过,我每次过年,亲戚都会问,你现在干啥呢?我就说自己是做app、做手机应用的,就你手机上这一个个小方块。(你说你是开发他们也不懂…)

亲戚们每次都会发出灵魂拷问:“那你能不能做个淘宝、微信啊? ”

每一个Android开发者,都希望可以搭建一个优秀的 Android 开发框架。它不仅需要满足不断增长的业务需求,还要保证框架自身的整洁与扩展性,这非常困难而且过程会很痛苦,但我们必须这么做,因为健壮的 Android 开发框架是一款优秀APP的基础。

新葡亰棋牌网站每个App由于项目特点和需求的不同,都会出现一套基于开发者所设计的架构模式,分层、组件化、模块化,每一种设计都是基于项目所在场景的,很难适合所有项目场景。

几种主流架构设计对比:

新葡亰棋牌网站MVC

MVC 简单来说就是将整个应用分为模型(Model)、视图(View)和 控制器(Controller)三个部分;

Android 本身的设计还是符合 MVC 架构的,但是经常会出现一些意想不到的问题,如内存泄漏等,这就导致了 MVC 的变种 MVP 的出现。

优点:

结构清晰,职责划分清晰;降低耦合;有利于组件重用;

缺点:

Activity/Fragment中代码较多;代码结构比较复杂;

MVP

MVP 架构模式是 MVC 的一个变种,最大区别就是 View 层可以发起事件。

Presenter 层的出现帮助我们减轻了 Activity 的压力,结构上也较为清晰,但是 View 层将存在较多与 Presenter 沟通的代码,MVVM 架构就在这时候被提出来了。

优点:

结构清晰,职责划分清晰;模块间充分解耦;有利于组件的重用;

缺点:

会引入大量的接口,导致项目文件数量激增;增大代码结构复杂性;

MVVM

MVVM 架构模式可以说是Google “钦定”的 Android 开发未来的第一架构。

从Model-View-ViewModel 这个名字来看,它由三个部分组成,其中视图模型(ViewModel)其实就是 PM 模式中的展示模型。除了我们非常熟悉的 Model、View 和 ViewModel 这三个部分,在 MVVM 的实现中,还引入了隐式的一个 Binder 层,我们要完整的采用 MVVM 必须熟练的掌握 DataBinding 等基础组件。

优点:

结构清晰,职责划分清晰;模块间充分解耦;

在 MVP 的基础上,MVVM 把 View 和 ViewModel 也进行了解耦;

缺点:

Debug 困难,由于 View 和 ViewModel 解耦,导致 Debug 时难以一眼看出 View 的事件传递;代码复杂性增大;

在开始编程前,我们不应该低估一个应用程序的复杂性。

随着业务的不断发展,App 业务规模扩大,随之而来的是团队规模扩大,那就涉及到多人协作问题,每个移动端软件开发人员势必要熟悉如此之多代码,如果不按照一定的模块组件机制去划分,将很难进行多人协作开发。

(责任编辑:新葡亰棋牌网站)

本文地址:http://www.mindshiftinc.com/jiatingfuwu/2020/1017/2638.html

上一篇:三星发布Galaxy A21s: Exynos 850+后置四摄

下一篇:没有短板的全面旗舰!这几大理由,让你不能拒绝小米10

相关阅读

留下评论

(必填)

(必填)