Супертип рівня (шаблон проєктування)
Супертип рівня (англ. Layer Supertype) — шаблон проєктування, який пропонує винести повторювану логіку в окремий клас. ОписЯкщо є логіка, яка спільна для різних класів рівня, її можна винести у супертип. Наприклад, генерація значень, які використовуються в різних місцях. static class ValueGenerator
{
public string Generate()
{
return new Random(1000, 9999).ToString();
}
}
Також, супертип може містити логіку спільну для всіх класів свого рівня. Наприклад, коли одні й ті самі методи дублюються у всіх об'єктах рівня. Тоді щоб не дублювати код між усіма класами рівня використаємо супертип. Типовим прикладом буде поле ідентифікатора, яке спільне для всіх об'єктів доменного рівня. class DomainObject
{
private int id;
public int Id
{
get
{
return id;
}
set
{
if (value == 0) throw new InvalidOperationException();
id = value;
}
}
Джерела
|