Кэширует ли репозиторий, домен или приложение?

Я пытаюсь выяснить, какой уровень должен отвечать за кэширование (вставка / удаление) в проекте Domain Driven Design. Цель состоит в том, чтобы повысить производительность веб-приложения путем кэширования любых объектов, которые извлекаются из репозитория.

Мое решение разделено следующим образом:

MyApp.Infrastracture
MyApp.Repositories
MyApp.Domain
MyApp.WebApplication

Я считаю, что, поскольку кеш использует только веб-приложение, оно должно быть этим слоем, на котором должна идти логика кеширования? Однако это не кажется правильным, поскольку я хочу, чтобы веб-приложение было легким и сфокусированным на обслуживании веб-страниц.

Кроме того, кеширование не является первоклассной концепцией предметной области, поэтому не имеет естественного соответствия на уровне домена.

Что что делать?

12
задан Fixer 10 August 2011 в 10:25
поделиться