1。工厂方法模式(别名:虚拟构造)
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。
2.概述
当系统准备为用户提供某个类的子类的实例,又不想让用户代码和该子类形成耦合时,就可以使用工厂方法模式来设计系统。工厂方法模式的关键是在一个接口或抽象类中定义一个抽象方法,该方法返回某个类的子类的实例,该抽象类或接口让其子类或实现该接口的类通过重写这个抽象方法返回某个子类的实例。
3.工厂方法模式-结构
模式的结构中包括四种角色:
- 抽象产品(Product)
- 具体产品(ConcreteProduct)
- 构造者(Creator)
- 具体构造者(ConcreteCreator)
4.工厂方法模式-场景描述
假设有三个笔芯,分别是红笔芯、蓝笔芯和黑笔芯。用户希望通过圆珠笔来明确笔芯的颜色。
5.工厂方法模式-场景分析
6.工厂方法模式-优点
- 使用工厂方法可以让用户的代码和某个特定类的子类的代码解耦
- 工厂方法使用户不必知道它所使用的对象是怎样被创建的,只需知道该对象有哪些方法即可。
相关推荐
在简单工厂模式中,所有的产品都是由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活性和扩展性,而工厂方法模式则可以很好地解决这一问题。
01_第1章_统一建模语言基础知识.ppt 第11章_桥接模式.ppt 第12章_组合模式.ppt 第15章_享元模式.ppt ...第5章_工厂方法模式.ppt 第6章_抽象工厂模式.ppt 第7章_建造者模式.ppt 第8章_原型模式.ppt 第9章_单例模式.ppt
└── 设计模式 ├── 01_第1章_统一建模语言基础知识.ppt ├── 第10章_适配器模式.ppt ...├── 第5章_工厂方法模式.ppt ├── 第6章_抽象工厂模式.ppt ├── 第7章_建造者模式.ppt ├── 第8章_原型模式.ppt
第5章 专题 JAVA语言的接口 第6章 专题 抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成、聚合复用原则 第11章 迪米特法则 第12章 简单工厂模式 第13章 工厂方法模式 第14章 抽象工厂...
第5章工厂方法模式(FACTORY METHOD PATTERN):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 第6章抽象工厂模式(ABSTRACT FACTORY PATTERN):提供一个创建一...
第5章 继承 · · · · · · (更多) 第一部分 C#面向对象程序设计 第1章 设计模式概述 第2章 C#语言的语法 第3章 用C#编写Windows程序 第4章 在C#中使用类和对象 第5章 继承 第6章 UML图 第7章 C#中的数组、文件...
#### 第5章 工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。 ##### 描述 工厂方法模式通过定义一个创建对象的接口,但让子类决定实例化哪一个类。...
第5章 专题:Java语言的接口 第6章 专题:抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成/聚合复用原则 第11章 迪米特法则 第三部分 第12章 简单工厂模式 第13章 工厂方法模式 第14...
第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11...
第5章 迪米特法则 5.1 迪米特法则的定义 5.2 我的知识你知道得越少越好 5.3 最佳实践 第6章 开闭原则 6.1 开闭原则的定义 6.2 开闭原则的庐山真面目 6.3 为什么要采用开闭原则 6.4 如何使用开闭原则 6.5 最佳实践 第...
目录 第1章UML类图实训 1.1知识讲解 1.1.1UML概述 1.1.2类与类的UML表示 1.1.3类之间的关系 ...3.1.3简单工厂模式 ...3.1.4工厂方法模式 ...A.5第5章实训练习参考答案 A.6第6章实训练习参考答案 参考文献
第1章 引言 1 1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 ...
第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11...
第5章 合成(composite)模式 39 第6章 桥接(bridge)模式 52 第7章 职责型模式介绍 62 第8章 单例(singleton)模式 67 第9章 观察者(observer)模式 72 第10章 调停者(mediator)模式 85 第11章 代理(proxy)模式 97 第12...
《PHP设计模式介绍》第三章 工厂模式 《PHP设计模式介绍》第四章 单条模式 《PHP设计模式介绍》第五章 注册模式 《PHP设计模式介绍》第六章 伪对象模式 《PHP设计模式介绍》第七章 策略模式 《PHP设计模式介绍...
1. **抽象工厂模式(Abstract Factory)**:Spring AOP框架中的`AopProxyFactory`接口代表抽象工厂,如`DefaultAopProxyFactory`是其实现,负责创建代理对象。抽象工厂模式确保了客户端无需关注具体对象的创建细节,...
第5章 工厂方法设计模式 第6章 原型设计模式 第3部分 结构型设计模式 第7章 适配器模式 第8章 装饰器设计模式 第4部分 行为型设计模式 第9章 模板方法模式 第10章 状态设计模式 第5部分 MySQL和PHP设计模式 ...