0

嗨,我希望我能够清楚地解释我自己一直很困惑的这个问题。

我有一个名为 UTModule 的具体类,它根本不是子类,但它由几个不同的抽象对象(例如 UTListener、UTRenderer、UTDeliverer)组成,这些抽象类到具体对象的实例化定义了我完成的 UTModule 对象的行为.

我要问的问题是,我看到的工厂设计模式的每个示例都与子类化的抽象对象有关,而我的对象是具体类,其行为由其组成决定。

我应该为每个复合抽象对象创建一个工厂吗?或者只是创建一个工厂来创建我的 UTModule,并根据客户的请求使用正确的复合对象?

提前致谢!

4

1 回答 1

1

我觉得使用抽象工厂模式对你来说是一个明确的解决方案。让我们将 UTModule 作为一个抽象工厂类,它具有创建其他对象工厂的方法,例如“UTListener、UTRenderer、UTDeliverer”

每个 UTListener、UTRenderer、UTDeliverer 和每个系列的相应工厂类都需要一些额外的接口。

UTModule 添加所有要求方法返回您正在寻找的家庭的工厂。

有关更多详细信息和示例,请关注OODesgin

于 2014-02-06T15:51:58.737 回答