绝不 使用 Repository??
2

这个不对的,常用的方法可以用R层封装起来,不然controller或者model太臃肿了

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 11
leo

用 Service 而不是 Repository,用了 Repository 之后无法发挥 Eloquent 的效率了

5个月前

@leo 用Service不用Repository的话岂不是只是把Controller臃肿的代码转移到Service?

5个月前
leo

@Juner 那用 Repository 的话岂不是把 Controller 臃肿的代码转移到 Repository?

5个月前
Chasers9527

Controller 到底犯了什么错

5个月前
leochien

我的淺見是:沒有非得用或非得不用
如 Clean Code 中所述,程式都是長出來的,沒有人一開始就知道結果會長怎麼樣,也沒有人知道需求到底會不會變
在我們的項目中一開始是有 Repository 的,在我接手後認為那樣過度設計於是把它拆了
但陸續開發了一年多後為了轉向微服務架構還是慢慢將業務邏輯分離到 Service
等到時候到了就得用了,沒有絕對要用或絕對不用

5个月前

@leo 不会啊,我是这样设计的,自己写Laravel项目的话

file
Core和Shell分离,Core写纯逻辑那些,跑Unit Test,然后基于MVC再用Service Repositroy Action辅助,达到解耦和便于维护的目的。

5个月前
leo

@Juner 所以 Repository 在这里充当了什么角色?目的是什么?

5个月前
iVerywang

@leo Service 和 Repository 有何不同呢?

1个月前
leo

@iVerywang Service 负责处理业务逻辑,Repository 负责从数据库里取数据

1个月前

所有的分层都是为了代码防腐以及分离,不是越多的分层越好,在实际工作中如果你可以预见做的项目规模并不是很大或者更注重开发效率而非开发规范,我的建议是减少分层

1个月前

小型项目确实不需要Repository,因为商业逻辑并不是那么复杂,但是大中型项目就需要使用Repository了,有些人可能不太清楚Repository中应该放那些代码,Repository中注入Model(当成Eloquent class),Repository其中方法处理复杂的查询条件拼接,聚合和排序等。大中型项目的层次应该是 Model 注入到Repository ,Repository 注入到 Service(负责商业逻辑) , Service 注入到Controller。 一切的一切都是为了不违反SOLID原则!

1个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!