mingmin

来源:互联网 发布:淘宝骗局 退款 编辑:程序博客网 时间:2024/05/21 08:51

对比一下PBL的一般 规范 ,如下:

PBL一般规范Google I/O 2015activities(页面用到的Activity类)feature/base(页面中每个Activity类共享的可以写成一个BaseActivity类)uiadapter(页面用到的Adapter类)通用的在ui里,不通用的在feature/tools(公共工具方法类)utilbean/unity(元素类)modeldb(数据库操作类)数据库操作在provider里,数据处理(比如json解析)在io里view/ui(自定义的View类)uiservice(Service服务)servicebroadcast(Broadcast服务)feature/

三.总结

参考Google I/O 2015的代码结构,PBF具体可以这样做:

src└─com    └─domain        └─app            │  Config.java 配置数据、常量            │            ├─framework            │      定义interface以及相关基类            │            ├─io            │      数据定义(model)、数据操作(比如json解析,但不包括db操作)            │            ├─model            │      定义model(数据结构以及getter/setter、compareTo、equals等等,不含复杂操作)            │      以及modelHelper(提供便于操作model的api)            │            ├─provider            │      实现ContentProvider,及其依赖的db操作            │            ├─receiver            │      实现Receiver            │            ├─service            │      实现Service(比如IntentService),用于在独立线程中异步do stuff            │            ├─ui            │      实现自定义view和widget,相关的Adapter也放这里            │            ├─util            │      实现工具类,提供静态方法            │            ├─feature1            │      Item.java                定义model            │      ItemHelper.java          实现modelHelper            │      feature1Activity.java    定义UI            │      feature1DAO.java         私有db操作            │      feature1Utils.java       私有工具函数            │      ...其它私有class            │            ├─...其它feature

当然,这样的代码组织方案 不仅仅适用于Android ,用着觉得好就好

参考资料

  • Package by feature, not layer

原创粉丝点击