banderos120
@banderos120
Играю на балалайке

Каким образом лучше организовать связь между несколькими Entity, хранилищами и Domain Model?

Здравствуйте.
В процессе реализации DDD застопорился на следующем:
Приложение хранит часть данных в БД, часть данных реализует через API к удаленному серверу. Соответственно было принято решение создать сущности на те данными, которые соотносятся с таблицами в БД - это для маппинга ORM, а другие соотнести с данными, необходимыми для работы с API . Полученные сущности по типу решено объединить в соответствующие Domain Model-s, которые бы отвечали поставленным бизнес требованиям.
Т.е. для примера:
class PostEntity{
  private $id;
  private $externalId;
  private $userId;
  private $date;
}

class ExternalPostEntity{
  private $id;
  private $postCode;
  private $author;
  private $title;
  private $description;
}

class PostModel{
  private /*PostID*/ $postId;
  private /*User*/ $user;
  private /*Date*/ $date;
  private $title;
  private $description;
  private $code;
}


Для работы с сохранением данным, создается репозиторий, внутри которого происходит обработка данных для БД через маппинг ORM и так же обработка и маппинг чепрез запросы к API . При вызове методов find*() собирается DomainModel соответственно.

Вопрос в том, насколько объективна такая реализация, или поискать другие варианты ?
  • Вопрос задан
  • 780 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы