用了 Repository 依赖来写业务逻辑,就不用 model 了?

用了Repository依赖来写业务逻辑,就不用model了?

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 8
JaguarJack

Model 构建表之间关系

6年前 评论

一直是controller 中写逻辑,model 中处理表对应关系,没使用 repository

6年前 评论
yourself

repository是为了在model层前面加个数据处理层

  • 业务写在写在service层
  • 控制器做参数校验和任务的转发。
  • 为什么要用Repository
    service调用repository,service不关心你的底层存储是redis还是mysql或者monggodb等等,这些东西统一由repository来处理好以后返回给service。

    问题分析

    很多人说repository没有必要,针对个人小项目,因为本身也不会迭代出复杂的业务,所以分不分层都一样,所以他认为多了一层很麻烦。

    个人理解

    如果说代码不分层,认为其实控制器都没有存在的必要,直接在路由里面写就好了,多了控制器反而更麻烦。
    直接路由->业务->数据,这样更简单更快,但是实际工作场景产品的需求折磨的你死去活来,前期分层不明确就后导致代码一坨坨。

    建议你参考点灯坊的文章

6年前 评论
yema

这个不存在绝对。model 还是必要的啊。毕竟不建model,怎么用模型操作数据库。model 上面加一层分工的更明确吧。

6年前 评论

不用Repository,laravel的ORM足够了

6年前 评论

我是Model只做关联定义和修改器访问器的定义,不做任何的查询插入等的处理逻辑

6年前 评论

其实这个Repository怎么理解,如果是在DDD里面,它只是用于持久化数据,和业务没有太多关系,业务写在model,此模型我更倾向于命名为领域模型,而不完全是一个db的映射,service层来编排业务的执行和公开访问。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!