业务代码中的参数传递方式

一般可以通过以下几种方式进行传递:

  • 按位置处理
  • 使用map对象取
  • 通过专用请求对象取
  • 使用字符串拼接

按位置顺序处理。

即使用下标0, 1, 2...放入参数,这种方法性能高,容易理解,但不方便修改。

push(0, 1);
push(1,"hello");
push(2, "world");

使用map对象取。

使用一个map对象,将key-value对放到map里。灵活、方便修改。JSON对象,也与这一类型相似

Map m = new HashMap<String, Object>();
mp.put("id", 1);
mp.put("name", "hello");
mp.put("content", "world");

通过专用请求对象取。

针对一个请求,用一个小类来表示。使用protobuf实际就是这种。protobuf的工具将定义的文件生成了需要的小类。这种方法是类型明确,编译时容易发现问题,缺点是比较繁琐。

class ReqObj{
    @setter
    int id;
    @setter
    String name;
    @setter
    String content;
}

ReqObj o = new ReqObj();
o.setLine(1);
o.setName("hello");
o.setConent("world");

使用字符串拼接

最常见的是使用url形式的,也有自定义的格式通过一些特殊符号进行分隔。直观,容易生成。

String p = "id=1&name=hello&content=world";

KavenFan
9 声望1 粉丝