(多选题)
以下属于工厂方法模式优点的有( )。
A.使用者不必须知道相应工厂的存在
B.工厂方法模式的扩展性很优秀
C.良好的封装性,代码结构清晰,减少模块间的耦合
D.可以屏蔽产品类
参考答案:ABCD
参考解析:
工厂方法模式优点的有:
(1)良好的封装性,代码结构清晰,创建一个对象是有约束条件的,如果一个调用者需要使用一个具体的产品对象,只要知道这个产品对象的类名或约束字符串即可,这就降低模块间的耦合;
(2)优秀的可扩展性。在需要增加产品类的情况下,只要适当的修改工厂类,就可适当变化。
(3)屏蔽产品类。产品类的实现如何变化,调用者不用关心,而只需要关心产品的借口,只要接口不变,系统的上层模块就不要变化,因为产品的实例化是由工厂类负责的,具体生产何种产品对象是由不同的工厂类决定。
(4)工厂方法模式是典型的解耦框架。高层模块只需要知道抽象类,其他的实现类都不用关心,工厂方法符合迪米特法则,也符合依赖倒置原则,只依赖产品类的抽象,另外还符合里氏替换原则,可以使用产品子类替换产品父类。故本题正确答案选ABCD。
知识点:自然科技 非法 科技 通用 公基
