抽象工厂模式包括 4 种对象。( 1 )抽象工厂接口或类,它的创建与应用程序业务逻辑无关,通常使用接口或者抽象类实现。( 2 )具体工厂类 , 它们的创建与业务逻辑有着密切的关系,通常使用具体的类实现。通过调用类中的方法可获得具体的产品实例。( 3 )抽象产品接口或类,该对象包括具体产品的父类,或者具体产品所实现的接口,所以定义内容与业务逻辑有密切相关。( 4 )具体的产品类,它们继承产品抽象类或实现产品接口。
( 抽象工厂模式静态结构图)
PetShop4.0中所用的是简化的抽象工厂模式。
(PetShop4.0中的简单抽象工厂模式静态结构图)
< type="text/javascript"> < src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
(IDAL项目类图)
从上面可以看出PetShop4.0中有五个业务要处理需要定义五个相对应的类,而每个类都需要根据不同需要而返回不同的对象。所以,很适合使用抽象工厂模式去解决。