zoukankan      html  css  js  c++  java
  • 关于项目中参数传递的问题

    关于耦合的问题我有点懵,虽然感觉接受了思想,但是不知道如何才是最好的。
    我们做项目一般需要两个对象,一个输入对象一个输出对象。然后项目是使用的idea编辑器进行开发的,项目设计成多模块的。
    然后多模块就有一个层级。
    基本层级:
    1、util(工具类层)
    2、dal层(数据库交互层)
    3、service层(逻辑层)
    4、web层(controller和jsp等),
    
    项目分模块的话就有层级,只有下级能访问上级,否则报错,就是dal不能访问service的东西,而service可以访问dal的东西。
    
    我们用controller从jsp中接受数据进行处理。返回数据给controller再展示给jsp。
    service层也有这样一个过程,dal层也是一样的。参照对象不一样而已。
    
    我现在的做法是:
        web层定义一个form对象,专门用来和jsp进行交互(接受或者展示数据使用)
        在dal中定义一个bo类,用来存放在进行数据交互的参数,dal中定义一个vo类,用来存放数据交互的结果。dal中有自动生成的DO类,往往它无法达到要求所以不使用它。当然自动生成的mapper中就不更改,自定义的mapper中返回的类型都是VO对象。
        然后我的service层传入bo对象,接受vo对象在和dal交互的时候
        我的service层接受bo对象,返回vo对象在和web层交互的时候
        就是说我直接在web层使用了dal层定义的类。
        
    然后师傅和我说在controller中不能直接用dal中的对象,我必须在service层再定义两个对象bo和vo,用来和web层交互。这个是为了高耦合低内聚。因为考虑到定义好多基本一样的类,所以讨论可以使用map进行参数的传递,但是map有时候更加麻烦。
    我想问一下你们在工作的时候这种情况的处理方式时什么呢?真的要这样解耦和吗?是和我说的一样的处理吗?

    问了些人,得出结论:师傅的话是正确的。好好改代码去了。

  • 相关阅读:
    linux下mysql的root密码忘记解决方法
    基于NIO2的遍历文件夹简单复制
    bootstrap插件bootstrapValidator常用验证规则总结
    《程序员修炼之道》-读书笔记六-工厂模式下的伪DI依赖注入
    cpu 突增问题排查
    一次线上OOM 的定位
    熔断、限流、降级的区别
    Mac 下 idea 在同一个窗口下打开多个项目
    No operations allowed after connection closed
    java 死锁演示
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6212148.html
Copyright © 2011-2022 走看看