Похоже, это веб-приложение, поэтому я бы создал атрибут (asp.net mvc / WebApi), который будет обрабатывать просмотры страниц.Конечно, атрибут будет вызывать только сервис INFRASTRUCTURE (так как я думаю, что статистика отслеживания не является частью домена), который просто обновит просмотры страниц в хранилище.Проще говоря, сервис вызывает Dao, который обновляет персистентность (обновляет набор записей просмотров страниц = просмотров страниц + 1).
Конечно, атрибут может просто отправить асинхронную команду для обновления просмотров страницы, которая будет выполняться в фоновом режимепоэтому «записи» фактически не будут мешать чтению.
Если ваше приложение имеет / будет иметь большой трафик, я бы предложил следующую стратегию сохранения: иметь таблицу PageViews (PageId, ViewsNumber, TimeStamp), где вы просто добавляете строку для каждого просмотра страницы.Затем каждые X минут, есть фоновый сервис, который будет делать Sum (ViewsNumber) GroupBy (PageId), где TimeStamp> oldTimestamp.У вас не будет статистики за миллисекунду, но она будет обновляться достаточно часто, и приложение будет реагировать.
Я не считаю это беспокойство частью какого-либо домена за пределами случая, когда вы создаете систему Google Analytics., так что вам не нужны AR, DDD или Event Sourcing.В вашем случае статистика страниц - это информация, прикрепленная к странице, а не часть страницы.Они рассматриваются вместе только в модели чтения, где вы фактически отображаете их в одном представлении.