php 设计模式——资源库模式(Repository)

php 设计模式——资源库模式(Repository)

才看到这个设计模式的时候并不觉得有多大用处,并没有发现会使代码简介多少。但是用过之后不得不说它的优势是很明显的,在M层和C层交互的时候,很好的解决了代码的耦合问题。

模式定义:Repository 是一个独立的层,介于领域层与数据映射层(数据访问层)之间。它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口提供给领域层进行领域对象的访问。Repository 是仓库管理员,领域层需要什么东西只需告诉仓库管理员,由仓库管理员把东西拿给它,并不需要知道东西实际放在哪。

Repository 模式是架构模式,在设计架构时,才有参考价值。应用 Repository 模式所带来的好处,远高于实现这个模式所增加的代码。只要项目分层,都应当使用这个模式。

实现方法:

1:首先使用 Trait 创建一个基类,里面封装好对数据表常见的增删改查操作,方便后面的资源文件分别调用。

2.定义mvc中的m层,同时定义一个仓库文件用于操作这个模型,在改仓库文件上 use 上面定义的基类别,将其引入进来。

3.在仓库文件下定义一个受保护的 $model  因为基类采用的是 $this->model 来代表当前的模型,然后在仓库文件的构造方法里,把要操作的模型类实例化出来赋值给$model ,这样我们就可以在仓库文件中对数据表进行操作了,当基类方法不够用使,我们可以在相应的仓库文件中添加模型方法。

4.只要项目中用到mvc分层,都可以采取这种设计模式,我觉得很好的优化了代码,逻辑更清晰,需要什么输入的时候控制器基本不用动,只需修改相应的仓库文件即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容