##about

一直想寻找 android 关于基于 mvc 开发的教程, 但是国内的网站都讲得很空泛,最后在一个外国的 blog 里看到一系列的文章,介绍得很详细和具体,而且是基于项目的,所以转过来了。

这系列的文章不仅简述 MVC,还涉及到了状态模式的运用,如何用 Data Access Objects 来持久化数据,使用 web service 的命令来传递数据。这系列文章假设你已经了解用这些技术的好处,所以不会详细讲解为什么要这么用。

你可以通过点击这里查看原blog。

##包管理

第一章先来建立工程并取好包名。好的包管理可以使明确你的类的大致作用,对编程有很大的帮助,试想下如果把所有 class 放到一个包中,当项目变大后,你想修改其中一个 class 将会是个噩梦。这里提供一个比较好的包的分类。

  • activities
  • controllers
  • daos
  • lists
  • models
  • utils
  • vos
  • widgets

注意到所有的包名都是复数,因为里面不止一个 class 。上面的包名如果项目用不到可以删除。由包的名字我们就可以知道里面的类大致的功能,这就是好处。

  • activities – 很明显,这里会放入所有的 activity
  • controllers – View 的大脑就放在这里面了
  • daos – 这里存放持久化逻辑
  • lists – 这里存放所有 list adapter
  • models – 这里存放 View 绑定的 Model
  • utils – 存放静态类和工具类
  • vos – 存放 Value Objects 也就是 POJOs 又或者 Data Transfer Objects
  • widgets – 借鉴于android 存放定制化 widget

part1 就到这里,源代码可以在这里下载 https://github.com/gavinlin/tapcounter