Шлюз до даних запису (шаблон проєктування)Шлюз до даних запису (англ. Row Data Gateway) — шаблон проєктування, який пропонує створити прошарок між доменним об'єктом та сховищем збереження даних. ОписЯкщо доменний об'єкт містить бізнес-логіку, то додавання до нього взаємодії із базою даних, може ускладнити роботу із цим об'єктом. Необхідно додати клас, який реалізовуватиме взаємодію зі сховищем. Якщо доменному об'єкту при реалізації бізнес-логіку необхідні дані із сховища, він може використати шлюз до даних сховища. Реалізація// шлюз до даних запису
class PersonGateway
{
public void getNumberOfDependent(int id)
{
// завантажуємо зі сховища
. . .
}
}
// доменний об'єкт
public class Person
{
public PersonGateway _personGateway;
public int Id { get; set; }
public string Name { get; set; }
public Person(PersonGateway personGateway)
{
_personGateway = personGateway;
}
public void getNumberOfDependent()
{
// не змішуємо бізнес-логіку із доступом до сховища
return _personGateway.getNumberOfDependent(this.Id);
}
}
Джерела
|