Что такое название того шаблона? Я предполагаю, это - фабрика, но я не уверен.
using System.Windows.Forms;
public class TreeNodeHelper
{
public TreeNode GetTreeNodeType1()
{
return new TreeNode("type1");
}
public TreeNode GetTreeNodeType2()
{
return new TreeNode("type2");
}
// etc
}
Класс TreeNodeHelper возвращает различные экземпляры TreeNode. Это только возвращает экземпляры TreeNodes и ничто иное.
Это своего рода фабрика, но не фабричный шаблон .
Также обратите внимание, что заводской шаблон (или варианты) обычно имеет только один метод с одним (или несколькими) параметрами, с помощью которых он может решить, для какого типа создать экземпляр, а не два (или более) метода.
Я бы также переименовал методы во что-то вроде «CreateNodeInstance» или что-то подобное. Вы создаете и возвращаете экземпляры, а не извлекаете типы.
Edit
Не зная ваших требований полностью, простая модификация была бы чем-то вроде
static public class TreeNodeHelper
{
static public TreeNode CreateNodeInstance(criterion)
{
if (criterion == xyz)
{
return new XyzTreeNode();
}
else if (criterion == foo)
{
return new FooTreeNode();
}
else if (etc...etc...
}
}
Это была бы реализация шаблона фабричного метода, а не абстрактного фабричного шаблона. Последняя ссылка также содержит пример на C#, но я сомневаюсь, что вам понадобится полная абстрактная фабричная реализация.
Он создает и возвращает объекты, так что это некий вариант Factory или Builder. Поскольку он возвращает простые объекты, а не сложные, это вариант Factory.