工厂方法模式 (1).pdf


立即下载 薄情
2024-04-27
工厂 按钮 模式 产品 方法 创建 Page 系统 简单 左厄普涂
1 MB

工厂方法模式
包子
2014-07
Page  2
工厂方法模式概述
工厂方法模式的结构与实现
工厂方法模式的应用实例
工厂方法模式的模式扩展
天群
Page  3
左厄普涂毫弓
简单工厂模式的不足
在简单工厂模式中,只提供了一个工厂类,该工厂类处于对
产品类进行实例化的中心位置,它知道每一个产品对象的创
建细节,并决定何时实例化哪一个产品类。简单工厂模式最
大的缺点是当有新产品要加入到系统中时,必须修改工厂类,
加入必要的处理逻辑,这违背了“开闭原则”。在简单工厂模式
中,所有的产品都是由同一个工厂创建,工厂类职责较重,
业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严
重影响了系统的灵活性和扩展性,而工厂方法模式则可以很
好地解决这一问题。
Page  4
左厄普涂毫弓
模式动机
考虑这样一个系统,按钮工厂
类可以返回一个具体的按钮实
例,如圆形按钮、矩形按钮、
菱形按钮等。在这个系统中,
如果需要增加一种新类型的按
钮,如椭圆形按钮,那么除了
增加一个新的具体产品类之外,
还需要修改工厂类的代码,这
就使得整个设计在一定程度上
违反了“开闭原则”。
Page  5
左厄普涂毫弓
模式动机
现在对该系统进行修改,不再设计一个按钮工厂类来统一负责所有
产品的创建,而是将具体按钮的创建过程交给专门的工厂子类去完
成,我们先定义一个抽象的按钮工厂类,再定义具体的工厂类来生
成圆形按钮、矩形按钮、菱形按钮等,它们实现在抽象按钮工厂类
中定义的方法。这种抽象化的结果使这种结构可以在不修改具体工
厂类的情况下引进新的产品,如果出现新的按钮类型,只需要为这
种新类型的按钮创建一个具体的工厂类就可以获得该新按钮的实例,
这一特点无疑使得工厂方法模式具有超越简单工厂模式的优越性,
更加符合“开闭原则”。
Page  6
左厄普涂毫弓
模式动机
 使用工厂方法模式设计的按钮工厂
Page  7
左厄普涂毫弓比释
分析
工厂方法模式:
不再提供一个按钮工厂类来统一负责所有产品的创建,
而是将具体按钮的创建过程交给专门的工厂子类去
完成
如果出现新的按钮类型,只需要为这种新类型的按钮
定义一个具体的工厂类就可以创建该新按钮的实例
P


工厂/按钮/模式/产品/方法/创建/Page/系统/简单/左厄普涂/ 工厂/按钮/模式/产品/方法/创建/Page/系统/简单/左厄普涂/
-1 条回复
登录 后才能参与评论
-->