Android开发中我们遇到的设计模式(陈乐原创)

来源:互联网 发布:广州拓虹网络 编辑:程序博客网 时间:2024/06/06 21:39

引言:记得一年前去一家我特别感兴趣的公司面试,除了一些介绍主要问了两个问题,一个是我平时用过哪些设计模式,第二个是举一个我映像最深的问题。第一个问题如果是四年前,我能非常熟练的背出所有设计模式和设计模式的使用场景,但很久没看书的我,仅说出了工场、单例、装饰等寥寥的几种设计模式,所有当时我说了一句很失败的话:我平时写代码用到很多很多设计模式,可是现在我描述不出来。然后后面就被鄙视了一通,水平太差、太没自知之明之类的话也随之出来,工作几年来第一次被这么鄙视真的非常映像深刻。所以为了证明我那句非常失败的话,我一直想写一篇文章,阐述我们工作中经常遇到的使用设计模式的场景,尤其是android领域。

(本文若有什么错误的地方,欢迎各路大神直言,另欢迎补充各种场景)


设计模式分为三种类型,共23种。
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。


一、工场模式——最最常用、最最基础的设计模式。

讲解:
所谓工场模式就是封装实例初始化的过程。Java中要使用一个对象的非静态属性或者方法前,我们必须先new一个这个对象的实例,但是除了new之外我们可能还需要做一些如赋值之类的初始化操作,所以这时候我们若能封装实例初始化的过程,将大大提高程序的重用性和扩展性。

场景: