美文网首页
php 设计模式——资源库模式(Repository)

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

作者: Stargazes | 来源:发表于2017-08-25 14:08 被阅读0次

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

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

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

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

    实现方法:

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

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

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

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

    相关文章

      网友评论

          本文标题:php 设计模式——资源库模式(Repository)

          本文链接:https://www.haomeiwen.com/subject/qguudxtx.html