laravel 面向接口
物件導向原則
solid
grasp
針對街口編程
laravel的入口是action
action 會經過 request 參數驗證(丟出422 exception) 和 service 驗證(丟出404 403 exception)。
request 經過 放入dto 規格化,不再是array,總是有設定dto的動作。
把dto 丟入 service 層,service只接受dto,service層會互相引用,interface 會描述service是什麼,能做什麼,或是提供一個可替換策略。
crud service 分開成 readService(r) 和 Alter(mutate)Service(cud)。
區分查詢跟改變的function 一個function只能做查詢或改變系統狀態 cqrs
進到repo前會有data processing 將資料轉成array
repo只接受array 連collect都不行
repo不帶有業務邏輯
原則
如何最簡單的達成任務
只在有需要的時候創建功能 而不是用預見
簡單不是沒東西可以加 而是沒東西可以減少
不要重複
做為一個維護者 而不是開發者 不要讓下一個接手的人思考這個是啥 最小驚訝原則
Do not talk to strangers 不暴露更多細節
留言
張貼留言