я реализовал метод фабрики следующим образом:Фабрика метод implementaion
class A
{
}
class A1:A
{
}
class A2:A
{
}
static class Factory
{
public static A GetInstance(int i)
{
if (i == 1)
return new A1();
else if (i == 2)
return new A2();
else
return null;
}
}
Я хочу использовать завод в методе следующий класс f1(). Метод f1() будет вызываться из его производных classes.I может пойти на следующих подходах:
Подход 1:
class MyClass
{
private A obj = null;
public void f1()
{
obj = Factory.GetInstance(1);
}
}
подход 2:
class MyClass2
{
protected A obj { get; set; }
protected void f1()
{
obj = Factory.GetInstance(1);
}
}
Какой подход лучше? Нужно ли защищать свойства и методы? Каковы плюсы и минусы подходов?
Woah! стена текста. Не могли бы вы немного сломать его? –