我正在尝试找到一种可以用来简化某些对象构造的设计模式。
基于传入参数(自定义类),我将从System.Windows.Forms.Control类创建各种继承器。
例如,如果自定义类的一个成员设置为'ChkBox',我希望我的类返回一个System.Windows.Forms.CheckBox,或者如果该成员是'List',我希望我的类返回一个ComboBox。
public CustomClass()
{
FieldType type;
}
和
GetControl(CustomClass type);
常见的是我想要创建的所有类都具有Control作为它的基类。考虑到这一点,我想有一种方法可以只在一个地方设置基类的成员。
你知道我可以用来解决这个问题的任何设计模式吗?
答案 0 :(得分:8)
答案 1 :(得分:3)
您可以使用工厂方法模式。工厂方法模式的目的是让类开发人员定义用于创建对象的接口,同时保留对要实例化的类的控制。
如需进一步的帮助,您可以看到“头部设计模式”第4章。