zoukankan      html  css  js  c++  java
  • laravel 5.5 仓库模式 文件之间接口与实现操作

    仓库模式

    最直接的意思就是:

    Eloquent数据(数据库)查询  方便快捷,简单明了。自己怎么写的,就怎么去调用,完全ok~

    本质意思:

    仓库就像是业务内部的数据对象集合,负责协调业务和数据映射层之间的关系,客户端对象只需要构造一个清晰的查询请求, 然后提交给仓库就行了。

    仓库里的对象可以通过客户端的请求进行增删改查,客户端可以在某个场景下,通过一个简单的对象集合或者仓库中映射的代码实现合适的操作。

    仓库模式把数据访问逻辑和业务逻辑中实体访问分开了,数据访问逻辑和业务逻辑只能通过接口来进行数据操作。

    简单来说, 仓库模式就是一种存放数据访问逻辑的容器,它向业务层屏蔽了数据访问逻辑的细节, 也可以这样理解, 在不清楚数据层设计结构的情况下, 我们也能按照业务逻辑来访问数据层。

    这样做(数据访问层和业务逻辑分离) 有很多好处:

    • 数据访问逻辑集中管理, 方便维护代码
    • 业务和数据访问逻辑可以分开测试
    • 减少重复代码
    • 减少编程中的错误

    ↓↓↓下面就是怎么去设计这个仓库模式了↓↓↓         (☄⊙ω⊙)☄

    先在 Providers(服务商)文件夹下创建一个自己定义的文件比如:RepositoryServiceProvider.php    (使用artisan创建比较方便  php artisan make:provider RepositoryServiceProvider)

     然后要将这个RepositoryServiceProvider.php 的类注册一下才可以的 -> 在Config目录下App.php中

    在App目录下创建一个自定义的文件夹(最好和Providers 里面创建的文件名字一样。方便记忆)

    在Repository文件目录下创建相应的文件夹(接口类和接口实现类)

    在两个文件夹下面创建相应的文件(先定义接口 -> Interface文件夹下)TestInterface.php

    Repositories 文件目录下 TestRepositories.php

    写完这两个文件的之后 接下来就要去第一个创建的文件中的register方法添加一行代码了  $this->app->bind  (RepositoryServiceProvider.php)

    这块部分叫做 “绑定接口”   

    也就是说ServiceProvider是Laravel IOC容器实现动态换接口实现的地方,所以在这里绑定一下,在使用的时候,不直接使用接口实现,而是用ioc容器解析接口,它会帮你自动找到对应好的实现。这就意味着,以后需要更换实现,可以在这里更换

     接下来就是调用刚才自己写的接口了 在 Controllers  自己创建的控制器下调用~

     然后 就完成了 仓库模式 的使用方法 So Easy~~~

  • 相关阅读:
    Eclipse 导入项目乱码问题(中文乱码)
    sql中视图视图的作用
    Java基础-super关键字与this关键字
    Android LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)的参数理解
    Android View和ViewGroup
    工厂方法模式(java 设计模式)
    设计模式(java) 单例模式 单例类
    eclipse乱码解决方法
    No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案
    【转】使用 Eclipse 调试 Java 程序的 10 个技巧
  • 原文地址:https://www.cnblogs.com/wjm956/p/9098074.html
Copyright © 2011-2022 走看看