laravel的中大型架构
孤独到死是一个天才最好的归宿,毕竟,这个世界配不上他
中大型架构
解决我们的控制器,模型过于肥大的问题
那么我们应该怎么写呢?别将我们的思维局限在 MVC 內 :
Model
: 被当成 Eloquent class。Repository
: 辅助 model,处理资料库逻辑,然后注入到 service。Service
: 辅助 controller,处理商业逻辑,然后注入到 controller。Controller
: 接收 HTTP request,调用其他 service。Presenter
: 处理展示逻辑,然后注入到 view。View
: 使用 blade 将资料 binding 到 HTML。
实现结果
我们可以发现 MVC 架构还在,由于 SOLID 的单一职责原则与依赖翻转原则 :
我们将资料库逻辑从 model 分离出来,由 repository 辅助 model,将 model 依赖注入进 repository。
我们将商业逻辑从 controller 分离出来,由 service 辅助 controller,将 service 依赖注入进 controller。
我们将演示逻辑从 view 分离出来,由 presenter 辅助 view,将 presenter 依赖注入进 view。
忠告
- 别害怕建立目录
- 文件单一职责原则
- 在 app 目录下建立
Repositories
,Services
,Presenters
目錄。