V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
brazz
V2EX  ›  PHP

有关框架设计的问题探讨

  •  
  •   brazz · 209 天前 · 1425 次点击
    这是一个创建于 209 天前的主题,其中的信息可能已经有所发展或是发生改变。
    问题 1:service 层的主要职责是什么? service 层的入参传 ID 还是对象?
    问题 2:在 service 和 service 互相调用之间如何避免一条数据被多次调用查询
    问题 3:你们会在 service 层级做参数验证吗?会的话如何避免多个服务之间的验证重复问题产生呢
    5 条回复    2024-05-22 02:18:26 +08:00
    pota
        1
    pota  
       208 天前
    1 、处理业务数据、以单一职责为主,且参数经历不依赖调用放获取
    2 、我处理方式是相同或者近似业务的 service 实现相同的 interface ,用成员变量去共享需要共享的数据
    3 、参数校验区分情况,用户输入校验我是在 controller 处理,业务参数 service 自己负责
    pota
        2
    pota  
       208 天前
    @pota #1 勘误。参数经历参数经历不依赖调用放-> 参数尽量不依赖调用方。这该死的输入法
    fgt1t5y
        3
    fgt1t5y  
       189 天前 via Android
    我一般都是传一整个 request 对象给 service 层方法
    encro
        4
    encro  
       187 天前
    从写代码爽度和性能上来来说,service 参数应该用对象引用。
    从重构,异步化上来说,应该传 id 。

    我比较喜欢 nodejs 的一些框架,给 service 加个注解中间件就成了 rpc 或者 rest 的 api 了,参数验证也可以在中间件做。
    ywisax
        5
    ywisax  
       185 天前
    1. 不直接操作数据源,不接触界面,就放到 service ;对象;
    2. 不是一般 service 要关心的,这个时候应该有独立的 service 去做数据的管理,一般就是 EntityManager 之类的名字;
    3. 会,应该重复验证不必要避免;
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2907 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:02 · PVG 16:02 · LAX 00:02 · JFK 03:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.