设计模式-工厂模式
示例按照《Head First 设计模式》给出。
简单工厂模式:
简单工厂模式是将创建实例的任务委托给简单工厂来实现,简单工厂通过一定参数来确定创建哪个实例。
简单工厂模式并不是一个设计模式,而更像一个编程习惯,但经常被使用所以有些人误认为这就是工厂模式。
UML图如下:

工厂模式:
工厂模式中分创建者类(Creator)和产品类(Product)
这两个类群是平行关系,都有自己的抽象类和许多具体子类,每个子类有自己的特定实现。
工厂模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
抽象的Creator提供了一个创建对象的方法的接口,也成为“工厂方法”。在抽象的Creator中,任何其他实现的方法,都可能使用到这个工厂方法所制造出来的产品,但只有子类真正实现这个工厂方法并创建产品。
UML图如下:

抽象工厂模式:
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
抽象工厂的方法经常以工厂方法的方式实现。抽象工厂的任务是定义一个负责创建一组产品的接口。这个接口内的每个方法都负责创建一个具体产品,同时我们利用实现抽象工厂的子类来提供这些具体的做法。所以,在抽象工厂中利用工厂方法实现生产方法是很自然的做法。
UML图如下:

代码在ubuntu9.04用g++ 4.3.3编译通过,在WindowXP用VS2005编译通过。
转载请注明:转载自DarkIces.com
本文链接地址:http://dki.me/b
相关文章: