用字符串和map传递数据要bean干嘛

解决方案 »

  1.   

    用 Bean 主要是数据结构本身比较固定,没有多大变化的情况下,如果为什么每个页面的参数需要定制一个 Bean 的话,就有太多的 Bean 了,每次修改就同时要核对这些,而后台服务就是一样的,而用纯粹的基本数据类型就可以避免参数老是变,这样我们的框架控制层就不需要改变,同时,如果我们需要使用到持久性的序列化时(比如提交审批时我们把整个页面的所有状态序列化到数据库中,到了第二天主管打开待审批页面时所有状态都是前一天提交的人当时所看到的资料,没有任何变化,如果我们重新读取所有记录而这条记录可能被另一个操作修改过,这时带来的法律责任就是很难认定的,提交材料的人不需要对不是他修改的部分负责,使用冻结的状态就有这个好处),使用 Bean 时我们需要考虑到版本升级可能带来的问题,因为我们不能在源代码中随意删除字段或修改它的类型或名字等(这也就是我们经常看到 JDK 源中有 @deprecated 的原因)。当然使用纯基本数据类型的话,就相当于泛类型(像JavaScript),这在编译过程没有验证,而使用 Bean 则可以在编译过程验证出一些人为的失误。
      

  2.   

    简单的说就是框架层如果要自动处理参数数据,使用 map 和基本类型就很方便。
    使用 bean 的话,当参数或表结构有变量我们就需要修改 bean 类,而当删除表中一个列时没有问题 Java 却不希望我们同时删除Java 类中的字段或方法,因为它会导致之前序列化过的数据再也无法被新版本的类读取出来。这些是设计可能碰到的问题。使用基本类型就不会碰到这些问题。