Android 中设计模式

来源:http://blog.csdn.net/shift_wwx/article/details/79086007


一、前言
网上已经有很多关于android设计模式相关的博文,总结的时候也借鉴它们,首先对于这些大神的分享表示感谢!
android长时间的开发工作,在一定的时候需要总结一下知识点是有必要的,其中设计模式对于coding能力的提高会起到至关重要的作用。这段时间会详细总结一下,以后会逐渐补充说明。

二、设计模式的起源

最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现。

在《建筑的永恒之道》里这样描述:模式是一条由三个部分组成的通用规则:它表示了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题,以及该问题解决方案的核心设计。

在他的另一本书《建筑模式语言》中提到了现在已经定义了253种模式。比如

  • 说明城市主要的结构:亚文化区的镶嵌、分散的工作点、城市的魅力、地方交通区
  • 住宅团组:户型混合、公共性的程度、住宅团组、联排式住宅、丘状住宅、老人天地室内环境和室外环境、阴和阳总是一气呵成
  • 针对住宅:夫妻的领域、儿童的领域、朝东的卧室、农家的厨房、私家的沿街露台、个人居室、起居空间的序列、多床卧室、浴室、大储藏室
  • 针对办公室、车间和公共建筑物:灵活办公空间、共同进餐、共同小组、宾至如归、等候场所、小会议室、半私密办公室

尽管亚力山大的著作是针对建筑领域的,但他的观点实际上适用于所有的工程设计领域,其中也包括软件设计领域。

《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。这几位作者常被称为”四人组(Gang of Four)”。

这本书一共列举了23种设计模式,所以,我们通常说GOF 23种设计模式。对软件设计模式的研究造就了一本可能是面向对象设计方面最有影响的书籍:《设计模式》。

三、软件设计模式的分类

1、创建型

创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能、更好的架构优势。创建型模式主要有简单工厂模式(并不是23种设计模式之一)、工厂方法、抽象工厂模式、单例模式、建造者模式和原型模式。

2、结构型

用于帮助将多个对象组织成更大的结构。结构型模式主要有适配器模式(adapter)、桥接模式(bridge)、组合器模式(component)、装饰器模式(decorator)、门面模式(facade)、亨元模式(flyweight)和代理模式(proxy)。

3、行为型

用于帮助系统间各对象的通信,以及如何控制复杂系统中流程。行为型模式主要有命令模式(command)、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式(observer)、状态模式(state)、策略模式(stragety)、模板模式(template)和访问者模式(vistor)。


总结基于Android 7.0版本。

1、工厂模式

2、单例模式

3、建造者模式(Builder模式)

4、原型模式

5、策略模式

6、状态模式

7、责任链模式

8、观察者模式

9、备忘录模式

10、模板方法模式

11、命令模式

12、适配器模式

13、代理模式(委托模式)

14、组合模式(部分整体模式)

15、桥接模式(桥梁模式)

16、门面模式(外观模式)

参考:

http://www.cnblogs.com/java-my-life/p/?page=1

http://www.cnblogs.com/qianxudetianxia/category/312863.html

http://blog.csdn.net/u012583459/article/details/47079529

http://blog.csdn.net/u012583459/article/details/47079549

https://www.cnblogs.com/android-blogs/p/5530239.html

https://www.cnblogs.com/Yogurshine/archive/2013/01/12/2858016.html

http://blog.csdn.net/jason0539/article/details/44956775

https://www.jianshu.com/u/cb3133f5a1bd

http://blog.csdn.net/lovelion/article/details/17517213



    原文作者:私房菜
    原文地址: https://blog.csdn.net/shift_wwx/article/details/79086007
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞