业余开发Android App的架构演变
2024-08-30 02:59:25
闲暇之余,开发了一款休闲类app,虽然用户量不多,但确实花了不少心血在这上面。然而,开发出来的结果,与之前想好的架构,还是有不少区别。
下面,记录下这款app架构的演变:
最初,只想写个app,能与机器人进行聊天。架构随意搭(或者说没有架构),快速开发出来就好:
最初(无架构)版本
很简单,按照代码功能,分为各种包。
然后,需要增加各种功能模块,如:新闻,小游戏,历史上的今天,社区,手电筒,找手机等。然后就想着这些模块是否作为可拆卸模块,需要的简单插入,不需要也方便移除:
第一次改版
本次架构修改主要包括下面几点:
1、抽出公共部分,如:OSUtil。
2、各种基类,处理了统计、webview配置等。
3、将需要增加的功能模块化,完全无依赖
随着时间的推移,还是感觉越来越乱,再加上之前的UI设计有点过时的感觉,于是重构了一版:
第二次改版
相对于上一次的架构,改动不大:
1、确定基础模块(机器人聊天)
2、增加app配置(因为考虑开发其他app,将所有配置文件独立有利于后续app套用现有框架)
3、其他细节更新
ps:本来想写写性能方面的东西,写到一半,临时想把自己开发的【小萌伴】原本想要的架构记录下,希望能不断改进。通过【小萌伴】学习了不少,如:手电筒,找手机(短信,保活,语音等)、游戏(原生游戏4款,部分h5游戏),社区(UI,抽象,数据同步,网络优化等)还有MD设计及开发,运行时权限等。把这些记录起来,希望在架构上也能有所进步,以更宽阔的眼界去看待移动端产品。
转自我的简书
最新文章
- 在Eclipse中对包进行增删改查
- Unable to locate secure storage module异常的解决方案
- 《ASP.NET1200例》实现投票的用户控件
- svn配置
- ajaxFileUpload - Post file and data together
- Spring In Action 第4版笔记-第一章-001架构
- JS中字符串倒序的两种方法
- ref - 按引用传递参数
- javascript时间函数
- postgreSQL-如何查数据库表、字段以及字段类型、注释等信息?
- Win7 Cygwin环境试验Nutch tutorial遇到的异常解决方法
- zzuli 2131 Can Win dinic+链式前向星(难点:抽象出网络模型+建边)
- python写一个邮箱伪造脚本
- Dynamics CRM2013 附件禁用方案
- php的ts和nts安装包
- django项目的部署
- Java 10新特性
- Linux 获取设备树源文件(DTS)里描述的资源【转】
- npm的源改成淘宝镜像
- GoldenGate 12.3 MA架构介绍系列(2) - 数据同步测试
热门文章
- mysql设置datetime默认值为now
- react 项目实战(八)图书管理与自动完成
- javascript闭包具体解释
- java web中的session属性范围和request属性范围
- 【CSU 1079】树上的查询
- ImportError: No module named flask.ext.login
- SPOJ OTOCI 动态树 LCT
- gitlab smtp设置
- ubuntu 14.04中: 像ubuntu16.04 一样可以在文件夹内打开此路径下的shell
- 15_传智播客iOS视频教程_OC语言完全兼容C语言