问题
单项选择题
某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。其中与Factory Method中的“Creator”角色相对应的类是 (33) ;与“Product”角色相对应的类是 (34) 。
(34)处填()。
A.Bank
B.Account
C.Checking
D.Savings
答案
参考答案:B
解析:
Factory Method模式的意图是,定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method是一个类的实例化延迟到其子类。Factory Method模式的类图如下图所示。
[*]
其中:
·类Product定义了Factory Method所创建的对象的接口。
·类ConcreteProduct用于实现Product接口。
·类Creator声明了工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。
·类ConcreteCreator重定义了工厂方法,以返回一个ConcreteProduct实例。
对照两张类图可以看出,与“Creator”角色相对应的类是Bank;与“Product”角色相对应的类是Account。