您的位置:首页 > 移动开发 > Android开发

android项目结构优化

2016-03-28 14:26 363 查看
对于一个app而言,一般包括UI、网络、业务逻辑、数据库等模块,但是怎样使项目结构更清晰、更模块化,功能移植更快呢?

一般有两种方式:

·1.按照mvc模式设计项目结构

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中M层处理数据,业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。

报名命名规则:com.+xxx+.xxx+.功能名称。如:
com.csdn.example.ui;
com.csdn.example.adapter;

com.csdn.example.database;

com.csdn.example.net;

com.csdn.example.util;

com.csdn.example.entity;

com.csdn.example.listener;

...
优点:符合mvc设计理念,将视图、模式、控制器很好的分开来了,更方便查找类
缺点:不利于功能的移植,移植时,需要从各个包中拷贝代码,需要修改的地方多。

2.按照功能模块设计项目结构

报名命名规则:com.+xxx+.xxx+.模块名称。如:
com.csdn.example.ui;
com.csdn.example.ui.login;



com.csdn.example.ui.register;
com.csdn.example.ui.setting;



com.csdn.example.database;

com.csdn.example.net;

com.csdn.example.util;

优点:方便移植,减少每个包之间的耦合
缺点:容易导致类的增加,需要增加部分公共类或接口,以被调用

两种方式都各有优缺点,具体使用哪种项目结构,看公司的需要吧。如有更好的项目结构模式,烦请告知我,可以回复,一起学习,come on !

3.为activity定义新的生命周期
学过设计模式的人,应该对SOLID原则不陌生吧。其中有一条原则就是:单一职责。我们通常在写代码的时候会发现,为啥onCreate()这老兄咋做这么多事情呢?对于一些复杂的界面,逛onCreate()方法中,就有上千行代码,不逛看起来很吓人,后期的代码维护也是够蛋疼的了吧。
所以,我们需要在父类中给它加上三个公共方法,来减少onCreate中的代码量。
这三部分包括:
protected adbstract void initVariables(); //初始化变量,包括Intent带的数据和Activity内的变量
protected adbstract void initViews(); // 初始化布局文件,如果是activity则还包括加载布局文件,fragment中则只需初始化布局文件

protected adbstract void initData(Object obj); //调用网络或者本地数据接口,用以获取数据

这样的话要求每个子类都必须去实现这三个方法,使整个项目代码看起来更清晰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: