美文网首页
结果类-R的设计

结果类-R的设计

作者: 石头耳东 | 来源:发表于2022-04-14 20:31 被阅读0次

零、本文纲要

  • 一、属性(字段)设计
    1、属性确定
    2、属性选择
  • 二、方法设计
    1、方法确定
    2、方法选择
  • 三、结果类R

一、属性(字段)设计

1、属性确定

code:状态码,0失败,1成功;
msg:错误信息;
data:数据;
map:动态数据。

private Integer code; //编码:1成功,0和其它数字为失败

private String msg; //错误信息

private T data; //数据

private Map map = new HashMap(); //动态数据

2、属性选择

  • ① 为什么msg是错误信息?

一般成功的情形会返回对应数据,而且无具体数据返回的情形下,data是泛型,可以返回String类型的信息。

  • ② 为什么有data承载数据,还需设置map?

防止data的单一数据集不方便承载多种返回数据,但是一般用不到map属性,仅作备用。

二、方法设计

1、方法确定

    public static <T> R<T> success(T object) {
        R<T> r = new R<T>();
        r.data = object;
        r.code = 1;
        return r;
    }

    public static <T> R<T> error(String msg) {
        R r = new R();
        r.msg = msg;
        r.code = 0;
        return r;
    }

    public R<T> add(String key, Object value) {
        this.map.put(key, value);
        return this;
    }

    ...Getter and Setter...

2、方法选择

  • ① 为什么error方法设置msg字段,而success方法设置data字段?

data支持泛型,也可以用作error方法的设置,只是设置此方法方便通常情况下便捷使用。

  • ② Getter和Setter?

是所有字段的get和set方法,如果通用方法不足以支持特殊情形,则可以灵活调整对应字段。

三、结果类R

结果类完整代码如下:

/**
 * 通用的返回结果类,服务端响应的数据都会封装成此对象
 * @param <T>
 */
@Data
public class R<T> {

    private Integer code; //编码:1成功,0和其它数字为失败

    private String msg; //错误信息

    private T data; //数据

    private Map map = new HashMap(); //动态数据

    public static <T> R<T> success(T object) {
        R<T> r = new R<T>();
        r.data = object;
        r.code = 1;
        return r;
    }

    public static <T> R<T> error(String msg) {
        R r = new R();
        r.msg = msg;
        r.code = 0;
        return r;
    }

    public R<T> add(String key, Object value) {
        this.map.put(key, value);
        return this;
    }
}

四、结尾

以上即为结果类-R的设计的全部内容,感谢阅读。

相关文章

  • 结果类-R的设计

    零、本文纲要 一、属性(字段)设计1、属性确定2、属性选择 二、方法设计1、方法确定2、方法选择 三、结果类R 一...

  • Java Stream Collector

    Collector三参数 Collector T - 入参类型 A - 容器类型 R - 结果类...

  • 11 并发框架的搭建

    1 业务逻辑 2 框架分析 3 类设计 3.1 结果类 装载任务的结果类型 装载任务结果 3.2 工作的任务处理器...

  • 吐槽期末考试的我

    所谓的期末考试就是一场凌迟处死,各种结课作业,500字的论文,1000的设计,2000字的literature r...

  • 实用数据库设计

    数据库设计的三个阶段 概念设计 将需求分析数据抽象成局部E-R模型,再将局部E-R模型集成为全局E-R模型E-R图...

  • 2 Linear Algebra

    广义上讲,满足以下两个操作的特定对象即可称为向量(vector)。 两个对象相加,结果类型不变 与一个实数相乘,结...

  • 数据库基础Database4-数据库设计

    数据库基础Database4-数据库设计 六 关系设计库设计 一个关系模式: R(U, F) 其中: 关系名R是符...

  • 经典递归问题:全排列问题

    【题目】设计一个递归算法生成n个元素{r1,r2,…,rn}的全排列。 【算法讲解】: 设R={r1,r2,…,r...

  • 品牌重塑

    品牌重塑的设计流程 调研 策略 结

  • R 语言--日期值的输入

    学习R语言,很多人都推荐使用图灵程序设计丛书中的"R in Action"-《R语言实战》作为R语言学习的入门书籍...

网友评论

      本文标题:结果类-R的设计

      本文链接:https://www.haomeiwen.com/subject/iwlxertx.html