`

如何成为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,高效)

避免使用枚举

避免使用浮点数

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics