教程地址: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 使用实例:
努力完善中.....