本帖已被设为精华帖!
本帖由系统于 7年前 自动加精
讨论数量:
@ricoo 哈哈哈, 这是我在学习 https://github.com/andersao/l5-repository 这个仓库时翻译的文章, 我觉得 Eloquent ORM 其实已经做了一部分 repository 的工作, 大多数比较简单的CRUD 业务直接用 ORM 就可以了, 但是这种思想还是可以学习的 :laughing:
-
Repository模式是架构模式,在设计架构时,才有参考价值;
-
Repository模式主要是封装数据查询和存储逻辑;
-
Repository模式实际用途:更换、升级ORM引擎,不影响业务逻辑;
- Repository模式能提高测试效率,单元测试时,用Mock对象代替实际的数据库存取,可以成倍地提高测试用例运行速度。
评估:应用Repository模式所带来的好处,远高于实现这个模式所增加的代码。只要项目分层,都应当使用这个模式。
这是网上主流对 Repository 模式的理解。但我个人认为在PHP这门语言里如果非要用这种设计模式写代码,不如换java,这种代码量带来的分层好处大大拖累了PHP的快速开发的效率。可以手动分层,隔离一个小的 model 处理层,一样让逻辑职责易于区分,代码清晰。相比这种,有点恶心。哈哈,个人龊见。。。
推荐文章: