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~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM