首先声明这个所有的思路都是我个人的看法,还没读过关于软件架构的书,甚至连设计模式的书都没看过。所以这些看法应该都是很片面的,需要进一步的学习,在此仅为抛砖引玉。
APP涉及的功能包括时间统计与记录,计划与提醒。因此,可以将其分为这样的包架构:
activity:APP活动包
db:数据库设计包
model:类似于bean的包,作为中间层便于数据库操作
service:服务包,作为计划提醒等后台任务的包
receiver:广播相关包
ui:界面设计包
其实貌似所有的APP都能这样的设计包架构。
其次,在编码中,要注意将逻辑和数据的分离,即是不要让逻辑处理对具体的数据依赖过高,否则,后期添加功能以及自定义某些数据的时候会很麻烦。虽然在设计的时候将其分离会比较不顺手,但是做多了就会认为是理所当然也很值得的事情。
然后,整体的宗旨是要注意能够将重复的代码(即是逻辑上看完全一样的代码)写成更高一级的抽象的就尽力抽象,减少代码的重复。
最后,注意容错处理和性能优化。