`
hutuanle
  • 浏览: 9560 次
文章分类
社区版块
存档分类
最新评论

Android开发之Java设计模式

 
阅读更多

摘自:http://www.cnblogs.com/csj007523/archive/2011/05/20/2052070.html

对于很多C/C++程序员初入Android开发来说,如果你没有认证学习过Java的设计模式,不理解托管语言的OOP设计方法,可能你的应用变得很结构化,对于项目管理、架构扩展来说将会存在很多问题,Android123参看了目前国内很多应用发现很多代码完全就不是一个Java程序员写出来的,虽然能用但是这样设计对于日后的维护等方面将会有很严重的问题.

目前注明的主要有23种设计模式,就常规的Java设计模式Android开发网给大家应该掌握的主要有以下:

一、创建型模式

1. 工厂方法模式

2. 单例模式

3. 生成器模式

二、行为型模式

1. 迭代器模式

2. 责任链模式

3. 观察者模式

4. 模板方法模式

三、结构型模式

1. 代理模式

2. 外观模式

由于设计模式讲解较费时,具体的Android123分多个章节具体描述,同时希望初入Java开发的网友先深刻了解下Java的抽象类、接口和继承相关的问题,以便理解今后相关的内容。

今天我们就Android开发中的一些设计模式做一些基础性的掌握,在上一次的 Android开发之Java设计模式入门篇中我们提到了一些有关 Java基础内容,本次就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今后详细讲解。

分享到:
评论

相关推荐

    android应用开发设计模式之-策略模式

    android应用开发设计模式之-策略模式源代码

    Android Studio中学习Java的设计模式代码

    再次确认,这里的Java设计模式代码,是使用Android Studio开发的;其他开发工具的也可以下载 ,外层包名是设计模式的大分类,里层的小包名是对应设计模型名称。其中readme.txt,写了作者学习过程中总结。 欢迎,大家...

    java,android常用设计模式,单例,mvp

    本人深圳安卓开发程序猿一枚,希望能一起...最近重温了一下java的设计模式,练练手,java设计模式有23种,写了12种常用的设计模式,一些觉得用不上就没写,水平有限,有问题欢迎留言一起加油email:674928145@qq.com!

    android开发揭秘PDF

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    android和java面试大全集

    Java23种设计模式(总结)1.doc JAVA_WEB面试笔试题.doc 实施人员初试题20091009.doc 笔试智力题.doc C语言面试题.doc 2011android面试题目及其答案大全.doc java基础笔试题.doc 安卓鄙视题附答案.txt 史上最全的...

    基于Java和android的外卖APP设计.doc

    基于Java和android的外卖APP设计 摘要 目前社会发展进步的很快,生活节奏也快,所以人们很重视饮食,所以外卖订单也兴起 来了。现在网上订单系统已经开始出现,很多的商家和客户都发现了其隐藏的巨大潜力 。这种服务...

    Android、Java、设计模式、面试题.zip

    Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客上的面经及王道考研相关视频,并改进了其中说法矛盾或含糊之处。 包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多...

    Android开发案例驱动教程 配套代码

    《Android开发案例驱动教程》 配套代码。 注: 由于第12,13,14章代码太大,无法上传到一个包中。 这三节代码会放到其他压缩包中。 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    Android-Java的常见集中设计模式学习笔记

    Java的常见集中设计模式学习笔记

    android系统原理及开发要点详解

     1.3.2 基于源代码SDK Android开发 11  第2章 Android系统开发综述 13  2.1 Android的系统架构 13  2.1.1 软件结构 13  2.1.2 Android的工具 16  2.2 Android源代码的开发环境 18  2.2.1 Android源代码的获取...

    安卓点餐系统(Android前端开发,采用MVP设计模式).zip

    Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对特定设备或特定需求进行自定义开发的软件解决方案。 以下是 Android 项目的一些...

    《Android应用开发揭秘》附带光盘代码.

     第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 Android应用程序框架  1.2 OMS介绍  1.2.1 OPhone介绍  1.2.2 Widget介绍  1.3 小结  第2章 Android...

    基于java开发小区停车APP管理系统源代码.rar

    小区停车APP管理系统采用MVC软件开发模式,使用Android布局技术完成UI的设计,基于Java语言开发,MYSQL数据库完成,在不同型号的设备模拟器上测试通过。“操作简单,功能实用”这是本软件设计的核心理念,本系统力求...

    《Android应用开发揭秘》源码

     第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 Android应用程序框架  1.2 OMS介绍  1.2.1 OPhone介绍  1.2.2 Widget介绍  1.3 小结  第2章 Android...

    Android应用开发揭秘pdf高清版

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    9种常用设计模式收集

    收集了9种常用设计模式,能帮助理解Java Web开发、Android开发中一些机制的理解,强烈推荐下载学习,好的话麻烦顶一下。

    Android_Java基础

    Java是对传统计算机程序设计模式的挑战,它对计算机软件开发和软件产业都产生了深远的影响。Java经过多年的发展,现在已经真正成为严格、主流的开发语言。Java给我们带来的一些新概念,诸如垃圾收集、虚拟机等,已经...

    Android课设基于Java的心脏病的健康管理系统源码+项目说明.zip

    Android课设基于Java的心脏病的健康管理系统源码+项目说明.zip 【资源介绍】 服务器端: Django框架+restframework 数据库:sqlite3 服务器地址 实现功能: 计步功能 心率检测 ...开发模式:C/S 模式。

    大学毕业论文_基于Android的五子棋游戏设计

    本论文主要阐述以面向对象的程序开发语言eclipse为开发工具, 基于智能手机Android之上设计一个五子棋游戏。五子棋起源于中国古代的传统黑白棋种之一,它不仅能增强思维能力 提高智力,而且富含哲理,有助于修身养性。本...

Global site tag (gtag.js) - Google Analytics