android使用分层架构企业应用(一)

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:33 点击:

背景:在用android开发企业应用的时候,发现按照传统的模式开发的代码结构比较差,业务逻辑处理与Activity是放在一起处理的,结构不清晰,类与类之间的耦合度较高,类的功能复杂,导致单元测试也很难开展;所以就有办法保证这个版本的稳定性,于是我跟我的团队都没有信心。因为我压根不知道程序什么时候会无缘无故报出一个bug,我总结一下原因是对过程缺乏必要的跟踪,导致业务行为模糊。我需要用敏捷管理的思想解决这些问题,所以我就开始重构了。

重构的目标:
采用分层架构思想将类解耦,使类遵循单一职责原则。
加入单元测试以保证过程跟踪。
加入自动化构建工具并集成代码检查工具。
加入持续集成输入单元测试结果及代码覆盖率。


具体实现:
将业务逻辑处理单独分离出来,并与Context分离,使其成为与android无关的可独立运行的类如:
SessionManagerService.java
Java代码 
public interface SessionManagerService { 
    // 用户登录 
    public String login(User user)throws RequestError; 

就这么一个接口它的职责非常单一,就提供一个登录操作的方法。
关于这个接口的实现类代码就不贴了,实现了这个接口后就可以用单元测试对这个方法进行验证。
SessionManagerServiceTest.java
Java代码 
public class SessionManagerServiceTest extends AndroidTestCase { 
 
    private SessionManagerService sms; 
 
    @Override 
    protected void setUp() throws Exception { 
        super.setUp(); 
        sms = new SessionManagerServiceImpl(); 
    } 
 
    /**
     * 测试登录成功
     * 
     * @throws Exception
     */ 
    @LargeTest 
    public void testLoginSuccess() throws Exception { 
        User user = new User(); 
        user.setUserName("qnlpkuge"); 
        user.setPassword("111111"); 
        String result = sms.login(user); 
        assertEquals("true", result); 
 
    } 
 
    /**
     * 测试用户名不存在
     * 
     * @throws Exception
     */ 
    @LargeTest 
    public void testUserNotExist() throws Exception { 
        User user = new User(); 
        user.setUserName("qnlpkugedfswe"); 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • android 屏幕保护
  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android成长的幕后推手:工程师鲁宾
  • MIUI:10个亮点及5处不足
  • Android歌词秀1.5版
  • 自己开发计算器(4)-完成!源代码公开!
  • Android开发者指南(29) —— USB Host and Accessory
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1