国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

打造 Laravel 優美架構 談可維護性與彈性設計

Amio / 2582人閱讀

摘要:公司項目可能需要對架構進行重建,老大給了我一個視頻讓我學習里面的思想,看完后覺得收獲很大,主講人對項目各個層次有很清晰的理解,力求做到職責單一分明,提高可維護性。

公司項目可能需要對架構進行重建,老大給了我一個視頻讓我學習里面的思想,看完后覺得收獲很大,主講人對laravel項目各個層次有很清晰的理解,力求做到職責單一分明,提高可維護性。下面是我看完視頻對其內容的大概整理,以及一些自己的見解,有錯誤的請指出。
視頻:https://www.youtube.com/watch... (有墻各位懂的)

Laravel簡單架構:

簡單的小項目可能會把數據庫查詢,業務邏輯,數據傳給View幾乎所有操作都放在Controller,如何項目后期需求變大,最后Controller會變得很臃腫,難懂,不易維護(同樣,有些會把所有增刪改查,功能類寫在Model,Controller再從Model一個個的拿,導致Model很亂,Model有關聯表的時候可能會引起一些不必要的數據庫查詢)

我自己的理解:用美宜佳賣商品給客人來理解,主要Controller是某個加盟商美宜佳門店,View是客人,Model是商品制造工廠(理解有些粗糙)

Repository(商品倉庫):

跟Eloquent/DB操作相關的,例如增刪改查,直接和數據庫打交道的基礎操作抽出來放在Repository中,repository中文是倉庫,我的理解就是我們要從Model拿數據,先放在倉庫repository中,統一由倉庫管理分配,發揮倉庫的職責

Service(總部服務平臺):

商業邏輯,不是簡單的查詢數據,而是特定的任務,例如判斷用戶是否是會員,設置用戶權限等等,這些操作建議放在Service,之后Controller再調用它

個人理解:所以在Controller和Model/Eloquent中間墊兩層,如果Repository理解為商品倉庫的話,我的理解Service是類似總部內部的服務平臺,加盟商Controller需要拿商品給客人View,不能直接去食品工廠Model拿,先通過倉庫repository,然后總部服務平臺Service進行打包啊,整理啊,發車啊(各種任務),最后再給到加盟商Controller手里

Presenter(充值業務):

一些比較固定,可以多帶帶調用的,可以用Presenter抽出來,不需要讓Model去做,下次修改也多帶帶修改Presenter就行了,
例如時間戳轉成Y-m-d H:i:s格式,可以多帶帶用Presenter處理后用@inject插入到前端模板,而不是把轉化過程寫在模板上面


個人理解:所以在Controller和View中間可以加一層Presenter,我的理解有點類似:美宜佳商戶(Controller)可以給客人(View)充公交卡,這種小事不需要勞費工廠(Model)

Transformer(快餐小吃人工篩選):

轉換器,例如在倉庫repository中有一個獲取所有用戶信息的查詢操作:
$this->user->all();但有些地方我們不需要用到那么多個字段,我只想有name和email字段,難道我要去改all()里面的參數,變成
$this->user->all(["name","email"])?這樣另外的地方又要全部字段,這不就沖突了?這時候Transformer就有用了,其實原理是對$this->user->all()獲得的數據進行篩選后再輸出,加了個篩選器。


之后要修改結果字段就直接在transform修改即可,當然還可以額外添加需要的字段:array_set()

個人理解:這一塊我的理解就是有些客人需要點一些快餐,例如美宜佳里面的車仔面呀,烤腸呀,在賣出商品的時候需要根據客人的需求對小吃進行篩選再賣出去,不可能客人指點要一個烤腸,你把店里全部小吃拿給他,讓他自個去篩選,中間賣出去的時候需要Transformer進行篩選再給出商品

Formatter(包裝):

主要用于保持API返回格式的一致(使用方法和transform類似):


個人理解:Formatter這一塊我的理解就是商品包裝,客人買東西,買小吃,你需要對商品先進行包裝,當然這個包裝肯定需要保持一致

以上便是我再看完視頻后對其進行總結整理,當然理論的說的容易,實際操作起來還有很多未知的問題,還是需要后面繼續研究學習。

附上個人簡易博客:https://zgxxx.github.io/ 歡迎討論

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29412.html

相關文章

  • 優秀文章收藏(慢慢消化)持續更新~

    摘要:整理收藏一些優秀的文章及大佬博客留著慢慢學習原文協作規范中文技術文檔協作規范阮一峰編程風格凹凸實驗室前端代碼規范風格指南這一次,徹底弄懂執行機制一次弄懂徹底解決此類面試問題瀏覽器與的事件循環有何區別筆試題事件循環機制異步編程理解的異步 better-learning 整理收藏一些優秀的文章及大佬博客留著慢慢學習 原文:https://www.ahwgs.cn/youxiuwenzhan...

    JeOam 評論0 收藏0
  • 程序員黑客

    摘要:記錄自余弦在上的演講程序員與黑客防御就是提高攻擊的成本架構思想一黑客思維應該貫穿整個公司的業務架構研發運維理想狀態技術團隊每個人都有黑客思維思想二優美的架構一定是健壯的想象下生態系統有漏洞被黑很正常快速自愈是關鍵思想三優美的架構一定 記錄自余弦在qcon上的演講 程序員與黑客(1) 防御就是提高攻擊的成本 架構 思想一:黑客思維應該貫穿整個公司的業務[..->架構->研發->運維->....

    qieangel2013 評論0 收藏0
  • 云計算 Cloud Native | 數人云CEO王璞@KVM分享實錄

    摘要:分享實錄云計算技術源于互聯網公司,現在云計算已經是下一代企業級的發展趨勢。如何做云計算一直是云計算技術的領導者。互聯網公司的快速發展,已經印證了云計算技術和云原生應用相比傳統構架的巨大優勢。 今天小數又給大家帶來一篇干貨滿滿的分享——來自KVM社區線上群分享的實錄,分享嘉賓是數人云CEO王璞,題目是《云計算與 Cloud Native》。這是數人云在KVM社區群分享的第一彈,之后還有數...

    _Zhao 評論0 收藏0
  • 架構升級,微服務落地GIStack for Manager

    摘要:第二種則由多個小單元構成,每個小單元都是獨立的服務。微服務架構所依賴的彈性通信輕量等需求容器恰好可以完美提供,因此微服務與容器可以說是完美的一對。談到架構,微服務架構已然是時至今日必聊的一個話題,系統架構的選型與是否轉型,不應該是為了微服務架構而架構,而是源于微服務架構自身是否更適合業務自身的需求,微服務架構的優勢與所要付出的代價是否值得你,去做一次轉變。 ? ?GIStack for M...

    bingchen 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<