`

如何成为Android高手 #笔记#

 
阅读更多

大致扫了下国土工作室的如何成为Android高手这个pdf

当然靠这个pdf成为Android高手是不太可能的,但里面的学会懒惰精通android体系和设计模式等编写可重用和可扩展代码编写高效代码 觉得说的还不错。重点需要掌握设计模式和ood设计的几个原则以及日常应用中注意一些高效的写法

 

pdf中第二页介绍对于开发应用需要遵守的一些原则

1、学会懒惰
2、精通Android 体系架构、MVC、常见的设计模式、控制反转(IoC)
3、编写可重用、可扩展、可维护、灵活性高的代码
4、高效的编写高效的代码
5、学会至少一门服务器端开发技术

虽然不能说总结的很好,但每一点都还是非常赞同的

1 需要懒惰

世界是由懒人创造出来的,只有存在偷懒的想法,才能不重复造轮子甚至发明新的轮子从而提高效率 。很多人编程了几十年一直抱怨每天做的事,年复一年写的代码都一样呢,那么你想过去造一些轮子吗.

自己也整理了一些开发中经常需要的工具函数,Android公共库见AndroidCommon@Git

 

2 精通Android 体系架构、MVC、常见的设计模式、控制反转(IoC)

这个就不用说了

一直觉得没有开始android开发的同学应该先看下体系架构,知道自己是在哪一层开发。可以见Android体系架构介绍

MVC这个最基础的就不说了,常用设计模式可以见http://trinea.iteye.com/category/199431

控制反转这个最初在spring中了解,大大简化了配置以及解耦了关联

 

3 编写可重用、可扩展、可维护、灵活性高的代码

这里的好处跟1类似,相当于写代码时候就可以同时考虑造轮子,为以后调用准备。主要讲了设计模式的几个原则

3.1 开闭原则(OCP) 

即软件实体对扩展开放,对修改关闭。使得代码可以在不修改的情况下很方便的扩展

3.2 里氏代换原则(LSP)

这个比较有意思,刚开始还理解错了,他的意思是使用父类的地方都可以用子类替换。引申就是说类最好从抽象类继承而不是从具体类继承。为什么“正方形不是矩形”呢,具体可以参见http://blog.csdn.net/brookes/article/details/1896758

3.3 依赖倒转原则(DIP)

这个原则说的是要依赖于抽象而不是具体。

3.4 接口隔离原则(ISP)

简单的说就是接口功能单一化。不要将过多的功能放在一个接口中。这点在java源码中随处可见

3.5 合成/聚合复用原则(CARP)

因为过多的继承造成代码复杂性增高,最终继承树结构不够清晰。所以更多的使用组合代替继承

3.6 迪米特法则(LoD)

意思就是一个对象要尽可能少的去了解其他的对象,或者对象让尽可能少的暴露信息让其他引用类去熟悉

 

4、高效的编写高效的代码

这里说的高效的写法无外乎不做不必要的事和减少对象的创建。小的细节包括:

避免建立对象

使用本地方法

使用实类比接口好(不敢认同,视情况而定,毕竟接口更易扩展)

用静态方法比虚方法好

不用getter 和setter

将成员变量缓存到本地,见自动获取新数据的缓存AutoGetDataCacheAndroid图片缓存

使用常量

谨慎使用foreach(不敢认同,对于很多容器,foreach都走iterator,高效)

避免使用枚举

避免使用浮点数

当然不一定所有的都要考虑,有时候好的扩展和可理解性优先于这么点性能优化。重点加粗了几个可以着重注意的

分享到:
评论

相关推荐

    手把手的教你成为Android高手

    通过利用上述提供的资源和技巧,开发者可以更加全面地掌握Android开发的各个方面,为成为Android高手奠定坚实的基础。此外,对于开发者而言,持续地实践和更新知识也十分重要,因为Android系统和其生态环境是持续...

    android入门笔记

    在Android开发中,掌握基本的UI控件是入门的关键步骤。以下是对标题“android入门笔记”和描述中提及的一些常用Android控件的详细说明: ...学习Android开发,需要不断实践和积累,才能逐渐成为高手。

    大话企业级Android应用开发实战 PDF 完整版 ZIP.002(二个压缩包)

    主人公是小安和大致,小安是一位有编程基础并想从事android软件工程师工作的求知者,大致是一位博士、android开发高手和不知疲倦的布道者,全书以小安在大致的带领下从android入门到成为android应用程序编程高手的...

    android.rar

    2. **成为Android高手必须掌握的28大项内容和10个建议**: 这可能是作者总结的成为优秀Android开发者的关键技能点和实践建议,内容可能涵盖UI设计、性能优化、网络编程、多线程处理、数据库操作等,以及如何避免常见...

    2012年最有价值的Android开发精品文章荟萃【800篇】

    文章涉及了高级主题,如性能调优、内存管理等,这些都是成为高手所必需的知识点。 ### [译稿]Android开发者指南 **作者:农民伯伯** **主要内容:** 这19篇文章是对官方Android开发者指南的中文翻译。官方指南是...

    51CTO下载-【android资料免豆下载】汇总大量教程+工具+源码下载地址.pdf

    Android 是一个基于 Linux操作系统的开源移动设备操作系统,自2008年发布以来, Android 已经成为全球最流行的移动设备操作系统之一。Android 的发展离不开广大开发者的贡献和分享,本文汇总了大量的 Android 开发...

    Linux笔记.doc

    【Linux的基础知识】 Linux是一个基于Unix的开源操作系统,它的核心在于其稳定性、安全性和灵活性。由林纳斯·托瓦兹创建并开源后,...Linux的学习是一个持续的过程,理解和掌握这些基础知识是成为Linux高手的第一步。

    安卓电子书生成器.rar

    【安卓电子书生成器】 ...无论你是想整理个人笔记,还是想分享故事,甚至制作专业级别的出版物,这个工具都能成为你的得力助手。只需动动手指,就能打造出个性化的电子书库,享受数字阅读的乐趣。

    多款精品电脑模拟软件

    用户可以通过学习这些资料,结合模拟软件的实际操作,系统地提升自己的电脑技能,成为真正的电脑高手。 总结来说,利用多款精品电脑模拟软件,用户可以安全地探索计算机世界的各个角落,从操作系统到网络配置,从...

Global site tag (gtag.js) - Google Analytics