在Web服务中,当我们将数据持有的责任放到存储库时,是否也应该将缓存的责任放在它们身上?还是由其他部分负责?同时,当我们使用内存存储作为辅助时,比如计算每天帖子访问次数并最终保存在数据库中的情况,这个功能应该在存储库中处理吗?
我认为装饰者模式很适合用于缓存仓库。主要思想是将缓存和存储逻辑分离。因此,它符合单一职责原则。 关于统计助手,它取决于上下文。它可以是:- 也可以是“装饰器”,将请求通过自身传递,并实现“IRepository”接口: `repo = new StatHelper(new CacheRepo(new DbRepo))`- 单独的层,具有自己的接口并将“IRepository”作为依赖项。 - 可以在“CacheRepository”内实现逻辑,以避免膨胀类的数量。