设计模式学习笔记——简单工厂模式、工厂方法模式、抽象工厂模式
2017-05-22 21:50
295 查看
简单工厂模式
定义
简单工厂严格意义来讲不能算作是一个设计模式,通常使用一个静态方法接收参数,通过参数来判断实例化不同的实现类。优缺点
优点:简单工厂模式能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。明确区分了各自的职责和权力,有利于整个软件体系结构的优化。缺点:很明显工厂类集中了所有实例的创建逻辑,违反高内聚的责任分配原则,它所能创建的类必须是提前考虑好的,不能直接扩展,只能修改方法内部的实现。
工厂方法模式
定义
工厂方法模式——定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。优缺点
优点:符合依赖倒置原则,依赖抽象,不依赖具体类;具有相应的灵活性,可以方便的进行扩展。缺点:相对于简单工厂,实现稍微复杂点。(-_-)!!!
抽象工厂模式
定义
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。优缺点
优点:抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建;当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象;增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。缺点:增加新的产品复杂,需要修改抽象工厂和所有的具体工厂类。
总结
简单工厂 : 用来生产同一等级结构中的任意产品,不支持拓展新产品。工厂方法 :用来生产同一等级结构中的固定产品,支持拓展新产品。
抽象工厂 :用来生产不同产品族的全部产品,支持拓展新产品以及产品族。
本博文为读书笔记:
《Head First 设计模式》
《大话设计模式》
《Android源码设计模式解析与实战》
相关文章推荐
- 2.工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)(设计模式笔记)
- 笔记十三:设计模式之简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式学习笔记(五)—Abstract Factory抽象工厂模式
- .Net设计模式学习笔记(五):工厂方法模式(Factory Method)
- 步步为营 .NET 设计模式学习笔记 二十四、Factory Method(工厂方法模式)
- 设计模式之-工厂方法模式(学习分析笔记)
- 设计模式学习笔记--Abstract Factory抽象工厂模式
- 步步为营 .NET 设计模式学习笔记 二十四、Factory Method(工厂方法模式)
- 设计模式学习笔记一:Simple factory pattern,简单工厂模式
- 设计模式学习笔记——工厂方法模式
- java 设计模式 学习笔记(3) 抽象工厂模式
- 设计模式C++学习笔记之七(AbstractFactory抽象工厂模式)
- .Net设计模式学习笔记(三):抽象工厂模式(Abstract Factory)
- 设计模式学习笔记(三)——Abstract Factory抽象工厂模式
- C#面向对象设计模式学习笔记(4) - Factory Method 工厂方法模式(创建型模式)
- 设计模式学习笔记——简单工厂模式
- 设计模式学习笔记(三)——Abstract Factory抽象工厂模式
- 四 抽象工厂模式——设计模式学习笔记
- 设计模式学习笔记(工厂方法模式)
- Java 可复用的面向对象的设计模式之 工厂模式Factory详解 :简单工厂模式 工厂方法模式 抽象工厂模式