Mik*_*ike 6 c# architecture design-patterns business-logic
假设我的业务层当前包含一堆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???
}
}
Run Code Online (Sandbox Code Playgroud)
在这一层记录和缓存是否有意义?或者,应用服务层处理这些问题会更有意义吗?或者可能还有别的东西?
只要有可能,就可以或应该实施缓存。此外,缓存应该是透明的,因此使用它的任何人都不应该知道它实际上已被使用。大多数时候,将其放在数据访问层中是合乎逻辑的,但有时将其放在业务层中也是合乎逻辑且可能的。
在我看来,日志记录是不属于任何层的东西。它应该是具有一个接入点的应用程序范围。