您的位置:首页 > 移动开发 > Android开发

Android设计模式系列(0)--开篇

2013-06-13 20:07 351 查看
=======================2011-08-26==================================

有时候,最难的是坚持;有时候缺少的是信念。

=======================2011-08-07==================================

从接触设计模式到如今大概4年左右的时间,一直都想有朝一日定要精通,坐于床头,侧望左右,设计模式的书买了7,8本了,也看了很多参考和视频,也用到了一些。但是今天我终于停下来,停下来梳理,停下来欣赏,也停下来反省,总之,我今天停下来了,是为了走的更好,走的更远。

如果有幸我能够把这个系列写到23+N,我想至少我的技术上会为我增色不少,会为我带来更强烈的信心;

如果有幸我能够把这个系列写到23+N,我想至少我去买者方面书籍的时候,我不会那么动心了,我也许不深,你也未必;

如果有幸我能够把这个系列写到23+N,我想至少后面架构和android的底层我会更加了解,我会看的更清楚,也看的更远。

我自己也是这么想得,所以我会坚持,我要把这个进行到底,写下去,写完23,我写+N,写完SDK,我写别人的开源项目,写完开源,我写我个人项目,写完个人项目,我写我自己的开源项目,至少我要写到我认为我应该继续写的时候,我如是想,也如是做!

我就是这么想的!

=======================2011-07-29==================================

看了很多年的设计模式,也看了很多种设计模式,也在工作中用了几个常见的设计模式。

android中,包括源码和一些开源项目,用到了很多经典设计模式,而且也用的非常的精彩。

学习android也有一些日子了,有空的时候看看源代码,看看开源项目的代码,自己也会再工作中写写代码。

今天,斗胆,基于android(其实就是java),把自己对设计模式的一些粗浅认识,默默的分享出来,希望能得到各位同仁的指点,以期设计能力更进一步。

我将以《设计模式:可复用面向对象软件的基础》为准,发掘android中各种设计模式的使用情况,提取核心部分,做为实例。

因为不需要写代码,应用场景又一般是android中自带的,所以文中可能会注重意图介绍和UML结构图的绘制,然后具体设计模式的本身和扩展还需要各位参考其他资料。

下面我列举一些重要的认识点:

设计模式,提供了很多软件工程问题所需处理的解决方案。

根据模式的目的可分为3类:

1.创建型模式:与对象的创建有关。

2.结构性模式:处理类与对象的组合。

3.行为性模式:对类或对象怎样交互和怎样 分配职责进行描述。

面向对象设计的2个基本原则:

1.针对接口编程,而不是针对实现编程。

2.优先使用对象组合,而不是类继承。 

面向对象设计的5个设计原则:

1.单一职责原则(SRP)

2.开放封闭原则(OCP) 

3.Liskov替换原则(LSP)

4.依赖倒置原则(DIP)

5.接口隔离原则(ISP) 

23中设计模式:

1.创建型模式:

(1).工厂方法模式

(2).抽象工厂模式

(3).创建者模式

(4).原型模式

(5).单例模式

2.结构型模式:

(6).适配器模式

(7).桥模式

(8).组合模式

(9).装饰模式

(10).外观模式

(11).享元模式

(12).代理模式

3.行为型模式

(13).解释器模式

(14).模板方法模式

(15).职责链模式

(16).命令模式

(17).迭代器模式

(18).中介者模式

(19).备忘录模式

(20).观察者模式

(21).状态模式

(22).策略模式

(23).访问者模式 

除此之外,后来人发现很多新的模式,如空模式等。

下面列举几个常见的问题导致重新设计,可能需要设计模式来分析解决:

1.通过显示的指定一个类来创建对象

2.对特殊操作的依赖

3.对硬件和软件平台的依赖

4.对对象表示或实现的依赖

5.算法依赖

6.紧耦合

7.通过生产子类来扩展功能

8.不能方便的对类进行修改

软件的设计臭味:

1.僵化性

2.脆弱性

3.顽固性

4.粘滞性

5.不必要的复杂性

6.不必要的重复

7.晦涩性 

... ...

总而言之,一句话,面向对象特性+原则+模式,折腾来折腾去就是这么个回事。

转载地址:http://www.cnblogs.com/qianxudetianxia/archive/2011/07/29/2121547.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式