《设计模式》学习&理解&总结

教程地址:http://www.runoob.com/design-pattern/design-pattern-tutorial.html

教程书籍:《Android 设计模式解析与实战》

1. 单例模式

关键字:singleton

使用目的:单例模式主要就是为了保证当前系统中只存在一个实例,供不同的地方调用。

使用情景:当一个对象的产生需要较多资源(如读取配置、产生其他依赖对象),且创建和销毁的性能又无法优化时。

Android 使用实例:Universal-Image-Loader。

2. 原型模式

关键字:Cloneable、深拷贝&浅拷贝

使用目的:使用原型实例创建对象的种类,并通过复制这些原型创建新的对象。

使用场景:1. 类初始化需要非常多的资源,这些资源包括数据、硬件等资源,通过原型复制可以避免这些消耗   2. 通过new创建一个对象需要非常繁琐的数据准备或者权限访问,这时可以使用原型模式  3.一个对象需要给其他对象访问,且各个调用这可能修改其值的时候,可以通过原型模式复制多个对象供调用者使用,即保护性拷贝。

Android 使用实例:Intent

3. 建造者模式

关键词:Builder

使用目的:将复杂对象的构建和表示分离。

使用场景:1. 需要相同方法不同执行顺序,产生的结果不同时。 2. 设计的产品类非常复杂,或者产品类中的调用顺序不同产生了不同的作用时。3. 当一个对象非常复杂,参数众多,且很多参数都有默认值的时候。

Android 使用实例: AlertDialog、Universal-Image-Loader 的 ImageLoaderConfig 配置。

4. 工厂模式 

使用目的:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。

使用场景:

Android 使用实例:

5. 抽象工厂模式

使用目的:

使用场景:

Android 使用实例:

努力完善中.....

猜你喜欢

转载自www.cnblogs.com/renhui/p/9984631.html