阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 1902|回复: 1

[转帖] Android开发之Java设计模式基础篇

[复制链接]
  • TA的每日心情
    开心
    2012-3-7 10:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2012-2-4 11:17:34 | 显示全部楼层 |阅读模式
    本次就Android项目的架构设计相关内容做分析:  1. 静态工厂方法
       静态工厂方法可以算是工厂方法加单例模式的整合在Android平台上,由于Android的Context可以很好的传递实例,静态工厂方法可以提到传统的类构造器,对于一些逻辑的服务提供类可以考虑这样的设计,比如文件下载、图片裁剪等操作。
      2. Java的类访问权限
       对于程序的可靠性而言,成员变量尽量私有,通过暴漏公开的方法来访问这些私有成员,提供类似getXXX和setXXX这样的方法,不仅是Java,这点C#对于属性的操作概念在Dot Net上已经深入人心,好处就是可以阻止继承后的访问换乱问题。
      3. 使用枚举替代常量
       Java在JDK 1.5开始加入了enum枚举类,相对于常规的final int这样的定义一些常量更简单安全,毕竟常量是一堆类似整形的数值,打印起来没有过多的意义,枚举对于继承后访问的清晰度可以很好的杜绝隐患发生。
      4. 使用列表优先于数组
      Java的集合类很方便,使用List类的列表在开销上比Object [ ] 这样的数组大,但是对于泛型的支持而言更好用强大。也可以避免一些不必要的错误,比如
      cwjObject [] obj= new int[1];
      obj[1] = "android开发网测试"; //这样会在运行时抛出类似ArrayStoreException这样的异常。
      而使用列表则为:
      List<cwjObject> obj=new ArrayList<int>();
    obj.add("android123测试"); // 由于传入列表的是字符串,和构造时类型的int不同,在编译时就提示错误,可以避免一些不必要的情况发生。
      5. Java的foreach代替for
      Java的foreach仍然使用for来写,这点和C#直接用foreach关键字有点不同,但是使用方法是一样的,除了更简洁外,其实foreach比传统的for更加优化,比如传统的for第二个限制位,一般访问属性或方法,比如说
      for (int x=0;x<obj.size();x++)  //这句的限制符号每次都会执行obj.size() 方法,当然Android开发网相信size()方法访问的是一个数组的length属性,活着是
      for (int y=0;y<obj.length;y++) //这里同样每次循环都执行obj.length对于Java VM的开销主要由这个obj的长度决定的,而Android SDK文档的推荐方式是
      int nSize=obj.size() 或 int nSize=obj.length
      for (int z=0;z<nSize;z++) ,但是这还不是最优的方法,下面Android123给大家更好的foreach方式的替代方法:
      for (SmartObject singleObj : SmartObjectArray)
      {
            singleObj.setName("cwj"); 或 singleObject.strName="cwj";
      }
       有关Android开发中的Java设计模式技巧,希望国内Android开发者打好Java基础,别扎堆实现铺天盖地的应用,目前不说恶意软件问题,就大部分的软件设计质量令人担忧,还有很多应用基本上就是J2EE或J2SE开源项目的移植版,更多的问题Android123今后详细讲解。
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2021-5-4 20:32
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    发表于 2013-1-15 13:40:52 | 显示全部楼层
    好深奥啊    ``````````````````````````
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表