【发布时间】:2014-07-22 04:47:02
【问题描述】:
我有一个抽象工厂类,它保留一些类型(应用程序特定类型为整数)的映射和指向工厂对象的指针。此映射在抽象工厂的构造函数中初始化,该构造函数有一个名为IFactory* get_factory_for_type(int) 的方法。 IFactory 是所有工厂类必须继承的接口。
我还需要一个表示每个工厂可以生产的对象的字符串以及所有可用对象类型的列表。
如果我在抽象工厂(std::map<int, std::string> 类型)中添加另一个映射和两个方法std::string get_name_for_type(int) 和std::vector<std::string> get_type_names(),这会是一个好方法吗?
我对这样做很谨慎,因为抽象工厂应该只负责创建对象工厂。有没有更好的方法或者在抽象工厂中可以做到这一点?
【问题讨论】:
-
java、c#和c++? -
这是一个设计模式问题,不是特定于语言的问题,因此是 java、c# 和 c++。
-
我建议将此问题移至programmers.stackexchange.com
标签: oop design-patterns