К какому уровню относятся такие функции, как: кеширование и ведение журнала?

Допустим, мой бизнес-уровень в настоящее время содержит набор классов DTO и отдельных сервисных классов для связи с репозиторием данных.

Пример:

class PersonService
{
   IPersonRepository _personRepository;
   ILogging _logger;
   ICacheStorage _cache;
   // Constructor here to create concrete objects.

   public Person GetPersonById(int Id)
   {
       // error logging and caching here???
   }
}

Имеет ли смысл регистрировать и кэшировать на этом уровне? Или было бы разумнее, если бы уровень службы приложений справился с этими проблемами? Или, может быть, что-то еще?

6
задан Mike 5 May 2011 в 13:37
поделиться