你说这个我想了上次还被老大批了--过度设计了。过多考虑未来的需求和变动了就设计过度了,于是出现了就真是几十行的代码,写出各种类各种接口。
最近学到的倒是基于android特性进行开发,ui上可以从需求分析到android控件的选择比如fragment,slidingmenu,actionbar,navigation drawer等。
整体架构上,数据库层和ui刷新,数据异步读取,使用contentprovider(数据库操作像rest api一样的风格),cursorloader,网络请求的intentservice,resultreceiver,gson等。
设计思路上,分层--还是走的mvc嘛,虽然最近也有用mvp,不过不管怎么样关键还是要有分层的意识吧;解耦--面向接口编程啊,依赖倒置都是;抽象能力:其实我觉得抽象能力很重要的,不过自己现在抽象能力也很弱,没啥建议。
好的开源项目:我觉得倒是没什么统一框架,可以看看foursquare,google io app的源码都是相当好的,android源码永远是值得读的。