У меня есть несколько классов, что все реализации интерфейса:как назвать класс, который генерирует другие классы?
interface ISample
{
}
class A:ISample
{
}
class B:ISample
{
}
class C:ISample
{
}
и другого класса, которые создают их на основе какой-то ситуации, например:
class CreateISample
{
ISample Create(string situation)
{
switch(situation)
{
case "create A":
return new A();
case "Create B":
return new B();
case "Create C":
return new C();
}
}
}
Что такое лучшее название для этого класса?
Создать ISample не хорошо, как тогда у меня есть:
CreateISample.Create("Create A");
, который имеет два Создать как часть имени. Также CreateISample может делать некоторые другие вещи (например, удерживать некоторые постоянные значения, относящиеся ко всем экземплярам, или содержать список созданных экземпляров и т. Д.). Тогда CreateISample не является хорошим именем.
Есть ли какой-либо стандарт для этого? Я помню, что я прочитал книгу о шаблонах дизайна, и они предложили подходящее имя для этой фабричной схемы.
Как насчет того, чтобы называть его SampleFactory и вопрос о переносе на http://codereview.stackexchange.com или http://programmers.stackexchange.com? –
Я бы назвал это Bob (tgif :)) –
Как насчет 'GenerateISample'? – Sean