干货-让你薪资翻番的Android开发知识(1)(2024最新)(1)

1.1 架构设计模式-MVC

18452536-cf983fcdf1c42b94.jpg

(1) 定义:在android开发过程中,比较流行的开发框架曾经采用的是MVC框架模式。

  • M(Model)层:实体模型,处理业务逻辑。如:数据库操作,网络操作,I/O操作,复杂操作和耗时任务等。
  • V(View)层:处理数据显示。在Android开发中,它一般对应着xml布局文件。
  • C(Controller)层:处理用户交互。在Android开发中,它一般对应着Activity/Feagment。android中主要通过activity处理用户交互和业务逻辑,接受用户的输入并调用Model和View去完成用户的需求。

(2) 特点

  • 低耦合
  • 可重用易拓展
  • 模块职责划分明确

(3) 实例

android本身的设计结构符合 MVC 模式。

(4) MVC优缺点

  • MVC的优点:MVC模式通过Controller来掌控全局,同时将View展示和Model的变化分离开
  • MVC也有局限性:View层对应xml布局文件能做的事情非常有限,所以需要把大部分View相关的操作移到Controller层的activity中。导致activity相当于充当了2个角色(View层和Controller层),不仅要处理业务逻辑,还要操作UI。一旦一个页面的业务繁多复杂的话,activity的代码就会越来越臃肿和复杂。

1.2 架构设计模式-MVP

mvp.png

MVP是从经典的MVC模式演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。在Android开发中,MVP的具体实现流程是当Presenter接收到View的请求,便从Model层获取数据,将数据进行处理。处理好的数据再通过View层的接口回调给Activity或Fragment。这样MVP能够让Activity或Fragment成为真正的View,只做与UI相关的事而不处理其他业务流程。

(1) 定义

  • M(Model)层:实体模型,处理业务逻辑。如:数据库操作,网络操作,I/O操作,复杂操作和耗时任务等。
  • V(View)层:负责View的绘制以及与用户交互。在Android开发中,它一般对应着xml布局文件和Activity/Fragment。
  • P(Presenter)层:负责完成Model层和View层间的数据交互和业务逻辑。

(2) 实例

(3) MVC和MVP的区别

MVP中的View并不直接使用Model,它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不通过Controller

  • MVC和MVP的最大区别:MVC的Model层和View层能够直接交互;MVP的Model层和View层不能直接交互,需通过Presenter层来进行交互。
  • Activity职责不同:Activity在MVC中属于Controller层,在MVP中属于View层,这是MVC和MVP很主要的一个区别。可以说Android从MVC转向MVP开发也主要是优化Activity的代码,避免Activity的代码臃肿庞大。
  • View层不同:MVC的View层指的是XML布局文件(或用Java自定义的View);MVP的View层是Activity(或Fragment)
  • 控制层不同:MVC的控制层是Activity(或Fragment);MVP的控制层是Presenter,里面没有很多的实际东西,主要负责Model层和View层的交互。

(4) MVP优缺点

  • MVP的优点如下:

模型与视图完全分离,我们可以修改视图而不影响模型;项目代码结构清晰,一看就知道什么类干什么事情;我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑,这个特性非常的有用,因为视图的变化总是比模型的变化更频繁 ;协同工作(例如在设计师没出图之前可以先写一些业务逻辑代码)

  • MVP也有不足之处:

接口过多,一定程度影响了编码效率。一定程度上导致Presenter的代码量过大。为了降低Presenter中业务繁多的问题,Google又推出了MVVM,试图通过数据驱动来减少Presenter的代码量。

1.3 架构设计模式-MVVM

最后

那我们该怎么做才能做到年薪60万+呢,对于程序员来说,只有不断学习,不断提升自己的实力。我之前有篇文章提到过,感兴趣的可以看看,到底要学习哪些知识才能达到年薪60万+。

通过职友集数据可以查看,以北京 Android 相关岗位为例,其中 【20k-30k】 薪酬的 Android 工程师,占到了整体从业者的 30.8%!

北京 Android 工程师「工资收入水平 」

今天重点内容是怎么去学,怎么提高自己的技术。

1.合理安排时间

2.找对好的系统的学习资料

3.有老师带,可以随时解决问题

4.有明确的学习路线

当然图中有什么需要补充的或者是需要改善的,可以在评论区写下来,一起交流学习。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
droid学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值