美文网首页
Android 架项目架构拆分梳理

Android 架项目架构拆分梳理

作者: 没有了遇见 | 来源:发表于2022-07-28 15:28 被阅读0次
拆分.png

简介

随着这几年项目逐渐维护周期越来越长,经历项目从开发,迭代,再到后期的维护.逐渐意识到在日常开发中,前期的架构对项目的重要性.一个好的架构,方便了后边的项目迭代维护.假如项目开始阶段没考虑到项目架构,单纯的写代码堆积功能.后期迭代起来简直爆炸,感觉就像沼泽地上跳舞(其实想说粪坑中跳舞来着)

从开始觉得什么架构不架构的就是刚代码堆起来,到哎呀Mvp ,Mvvm模式想啊用一用,再到后来项目真改不下去了.这时候的心态是,爆炸吧,哪个傻逼这样写的,一看作者是自己)然后自己看不下去了那就重构吧.然后默默的开始拆项目,拆着,着学习着...一步步的掉着头发,填着自己挖的坑.

叨叨结束进入正文.

现在写的项目大体上是基于模块化架构,拆分各种不同的业务,MVP+MVVM 拆分页面代码

思路

项目臃肿分为需求臃肿,耦合性高,和单页面臃肿耦合性高.这时候我做的答题思路是项目整体模块化,各个模块拆分解决业务逻辑的耦合臃肿,MVP+MVVM拆分单个页面的数据处理,页面展示.

1.项目拆分-->模块化

模块化 顾名思义就是将需求细分成一个个单独的模块,然后根据业务需求拼接成一个App.

拆分模块


基础模块
        
        1.User数据信息模块
        2.网络模块
        3.Base模块(基类,统一风格展示)
        4.通用模块(Util,路由跳转,事件分发)
        5.数据持久化模块(DB/文件存储/Sp)
        6.三方SDK模块(分享,登录,地图,支付...方便统一管理三方库)
        
业务模块

        1.App主模块(启动的主模块用于挂载各种子模块)
        2.图片/视频/文件处理模块(可再拆分个图片.视频展示的模块)
        3.版本更新/广告/统计模块(需要定时更新的可以都放在这里)
        4.其他的根据业务需要可以拆分成各个模块.什么电商,IM,直播等模块
        

2.页面拆分-->MVP/MVVM/LiveData

具体到某个页面的拆分现成的方案很多了,要么拆分数据请求和数据展示,要么将数据直接动态绑定到XML,或者就是LiveData 等各种方案让我们告别一个Activity上万行代码的情况.

现用方案:

MVP+MVVM:MVP拆分网络请求和数据绑定,MVVM简化findViewById()和动态绑定数据

3.扩展

模块化方案,各个模块之间调用,通讯怎么办呢?

我们项目中使用的是阿里开源方案 Arouter,有兴趣的小伙伴可以去看看.

另外原生观察者作为跨页面也挺方便的,EventBus 暂时我还没遇到非他不可得情况

总结

项目开发前期将业务和基础的各个模块拆分出来,虽然增加了工作量.但是项目后期迭代维护是真心的省事儿,让开发者专注业务的实现就可以了.各个模块相互不关联,有新需求了可以快速的拿各模块拼接成一个新App,So easy.

相关文章

  • Android 架项目架构拆分梳理

    简介 随着这几年项目逐渐维护周期越来越长,经历项目从开发,迭代,再到后期的维护.逐渐意识到在日常开发中,前期的架构...

  • Wifi笔记 | 启动流程图解

    一、 Android O wifi 架构: 由于Android O的Treble化,Android O上Wifi架...

  • Android Room 使用详解

    原文地址:Android Room with a view Android推荐的架构组件 Entity: 当使用架...

  • 项目架构梳理

    做了这么久的iOS开发,其实只是在努力工作做业务,并不了解自己写的东西。今天把项目的框架梳理一下,加深一下理解。 ...

  • 【Android架构】基于MVP模式的Retrofit2+RXj

    前言 最近有个新项目要做,搭建框架的时候,顺便梳理了下MVP模式,特此记录,欢迎大家指正。 【Android架构】...

  • Android源码阅读笔记

    Android系统架构图 Android系统架Android 7 Nougat源码目录结构分析 abi:art:A...

  • Android技术博文汇总

    架构 MVC,MVP 和 MVVM 的图示 浅谈 MVP in Android Android项目重构之路:架构篇...

  • 微服务架构

    微服务架构是近几年比较流行的架构趋势,有的项目紧跟潮流,已经开始用上docker技术,有的项目还仅是功能拆分,但是...

  • 【Android架构】基于MVP模式的Retrofit2+RXj

    先回顾下之前的 【Android架构】基于MVP模式的Retrofit2+RXjava封装(一)【Android架...

  • iOS 静态库冲突 解决方案

    1、查看静态库支持的架构 2、拆分,将冲突的架构依次拆分 3、 拆分结果 4、选择冲突的架构,查看冲突架构包含的....

网友评论

      本文标题:Android 架项目架构拆分梳理

      本文链接:https://www.haomeiwen.com/subject/ahrqwrtx.html