记录一个项目的推翻重构
2016-10-22 23:24
225 查看
好久没有写博客了,中间断断续续用markdown写了一些知识点的总结,过段时间也整理整理发出来。
这个时间点,大三上学期过了小一半了,而这个项目是我大二上开始的一个项目。现在回顾起来,有诸多问题,希望在上线之前重新梳理一下,也当做是一些知识点的重新梳理,深入了解,优化之前的不足之处,也希望能够借此希望给大家一些经验。
APP的情况如下:大二刚上手,没有考虑架构问题、代码复用、命名规范和代码注释等问题,导致现在看起来整个项目臃肿不堪,后来的人很难接手。
命名规范的问题参考:http://keeganlee.me/post/android/20150709(转载)架构师,学习了很多。
整个应用采用MVP架构,这种架构在这里就不介绍了,上面链接的网站也有介绍,很详细。
这里做了简化,讲道理应该是APP负责界面的UI处理,Core层处理逻辑操作,Model层纯数据操作,然后还有一个API层处理网络请求。这个项目封装了OKhttp,所以把core层和API层做了合并,在core层请求数据处理数据。
app层依赖core层和model层(我把所有数据的操作,比如SP,SQL都放在model),core层依赖model层,model不依赖谁。
app层使用一些开源的库
core层使用的开源的库
做完整个大体的结构,现在是丰富每个层的具体结构:
这个时间点,大三上学期过了小一半了,而这个项目是我大二上开始的一个项目。现在回顾起来,有诸多问题,希望在上线之前重新梳理一下,也当做是一些知识点的重新梳理,深入了解,优化之前的不足之处,也希望能够借此希望给大家一些经验。
APP的情况如下:大二刚上手,没有考虑架构问题、代码复用、命名规范和代码注释等问题,导致现在看起来整个项目臃肿不堪,后来的人很难接手。
命名规范的问题参考:http://keeganlee.me/post/android/20150709(转载)架构师,学习了很多。
整个应用采用MVP架构,这种架构在这里就不介绍了,上面链接的网站也有介绍,很详细。
这里做了简化,讲道理应该是APP负责界面的UI处理,Core层处理逻辑操作,Model层纯数据操作,然后还有一个API层处理网络请求。这个项目封装了OKhttp,所以把core层和API层做了合并,在core层请求数据处理数据。
app层依赖core层和model层(我把所有数据的操作,比如SP,SQL都放在model),core层依赖model层,model不依赖谁。
app层使用一些开源的库
compile 'com.android.support:recyclerview-v7:24.1.1' compile 'com.android.support:design:24.2.0' compile 'com.commit451:PhotoView:1.2.4' compile 'me.iwf.photopicker:PhotoPicker:0.1.8' compile 'com.facebook.fresco:fresco:0.14.0'
core层使用的开源的库
compile 'com.zhy:okhttputils:2.6.2' compile 'com.google.code.gson:gson:2.6.2'
做完整个大体的结构,现在是丰富每个层的具体结构:
相关文章推荐
- 一个GNU项目的编译过程记录
- 公司的一个“新记录”:项目初验不成功
- 一个重构眼中的“项目管理”
- 记录一个项目的需求探讨过程
- 一个利用静态代码分析检查并记录开源项目中存在的隐患的网站
- 一个实际项目的重构例子
- 使用servlet/jsp + mysql 完成的一个bbs练习项目 记录下来
- 最近 由于项目需要被迫自己写一个 ajax gird 记录-1
- 一个Web报表项目的性能分析和优化实践(五):重构有助于性能优化么?
- 学习Android开源项目-根据知乎日报API分析重构一个简单的知乎日报Android客户端
- 开始单位项目 一个MIS系统 记录日志
- 开始一个迷你项目的重构
- C#中ArrayList 与 string、string[]数组 的转换 (转学习:今天做项目时遇到一个arrylist转换问题,做记录)
- cocos2dx 自学记录(3)-- 创建一个新的项目
- 一个项目重构方案设计
- 刚刚做了一个小项目,存在一个问题,就是如何在数据库中插入多条记录
- 项目记录-因为类增加了一个成员变量而导致的access violation
- 一个SoC验证项目的验证记录!
- 曾经负责的一个项目,记录一下,呵呵
- 给openwrt移植一个其他项目的问题记录