Я пытаюсь выяснить, какой слой должен отвечать за кеширование (вставить/удалить) в проекте Domain Driven Design. Целью является повышение производительности веб-приложения путем кэширования любых объектов, которые извлекаются из репозитория.
Мое решение разделяется следующим образом:
MyApp.Infrastracture
MyApp.Repositories
MyApp.Domain
MyApp.WebApplication
Я чувствую, что, поскольку это только веб-приложение, использующее кеш, тогда должен быть этот уровень, на который должна идти логика кэширования? Однако это не кажется правильным, поскольку я хочу, чтобы веб-приложение было легким и сосредоточено на обслуживании веб-страниц.
Также кэширование не является концепцией домена первого класса, поэтому не имеет естественного соответствия в уровне домена.
Что делать?