laravel Repository设计模式及其实例

laravel设计模式及实际应用之Repository模式
为什么要用Repository设计模式:

  传统的MVC模式虽然十分成熟:但是无论是 controller直接调用model 或者直接使用构造器方法完成
  数据交互,都会使得整个项目高耦合,而这部分臃肿的逻辑代码,既不能写在model中,
  也要避免放在controller中,所以只能构造一个中间部门去储存编写它,这就是Repository

核心:Controller 就负责请求的逻辑调用,Model 只负责数据库的交互,而Repository就需要将两者连接起来,负责实现coroller需要的逻辑代码,负责从数据库去存储数据。
原理:一:接口绑定:
1. 在新建的Repository下 创建一个接口(供controller调用)
2. 在该目录下创建一个实现类,去实现这个接口的方法(核心代码逻辑)
3.在服务提供者下(可以自定义服务提供者,这样就省了第4步) 将实体类和 interface 类绑定

`public function register()
{
    $this->app->bind('App\Repository\TestInterface', 'App\Repository\TestRepository');
}`

4.将自定义的服务提供者注册到config/app.php中的providers数组下
二:依赖注入:

 protected $test;
    public function __construct(TestInterface $testinterface){
         $this->test =$testinterface;
    }

特别注意:无论是自己定义provider还是使用原来存在的provider,在执行依赖注入的时候,使用的都是服务接口,例如TestInterface,而不是服务提供者TestProvider.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值