tik*_*hop 5 architecture oop design-patterns domain-driven-design
假设我有一个(ContactsRepository)方法类似的存储库getAllContacts(userId)。在(ContactsRepository)从服务器上获取的所有数据。在第一个调用getAllContacts(userId)方法之后,我想缓存此数据。我的问题是,我应该在哪里实现缓存机制,(ContactsRepository)当我getAllContacts(userId)再次调用方法时,存储库将缓存数据退回,或者我需要将数据放到另一个地方(也许是存储库)。
您可以使用 Repository 从缓存或数据库中获取数据。如果您的存储库类具有更新方法,您也可以有效地使缓存项无效。
因此,您可以封装对存储库中缓存的访问: http://martinfowler.com/eaaCatalog/repository.html
实现存储库缓存的另一个示例: http://ardalis.com/building-a-cachedrepository-via-strategy-pattern