Наследование или фабрика ?
От: _NN_ www.nemerleweb.com
Дата: 18.02.17 19:57
Оценка:
В силу отсутствия глобальных псевдонимов типов в C# задался вопросом как лучше сделать.

class SomeGeneric<TA, TB>
{
 public SomeGeneric(TA a, TB b) { .. }
}


1.
class SomeSpecific
{
  public static SomeGeneric<X, Y> Create() { return new SomeGeneric<X,Y>(new X(), new Y()); }
}


2.
class SomeSpecific : SomeGeneric<X, Y>
{
  public SomeSpecific() : base(new X(), new Y()) {}
}


У второго варианта удобнее использование, ведь X,Y будут скрыты от глаз, зато первый вариант не создает ненужного наследования.
www.nemerleweb.com
Отредактировано 18.02.2017 19:58 _NN_ . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.