上下文设计模式

本文提倡在开发中使用上下文设计模式,通过创建一个包含所有请求及返回信息的对象来简化参数管理,提高代码可读性和维护性。上下文对象包括请求、响应、成功标志、异常信息和额外参数,适用于处理复杂场景。通过泛型和Map适应不同需求,采用单例模式,实现请求流程标准化,降低处理复杂度。
摘要由CSDN通过智能技术生成

前言

在开发中,如果一个方法有3个以上的参数,我们应该将它们包装到一个参数中,原因:

  1. 方便调用,参数过多类型容易混淆。

  2. 参数个数变更容易替换,无需批量更改方法。

  3. 方便设计模式实施及日志记录等。

一个参数的好处很多,于是我们可以思考,一个请求流程中,我们是否可以只用一个参数呢?

我觉得可以,而且是一种很高效的设计模式。

上下文设计模式

我将应用如下请求参数的模式统称为上下文设计模式

public class Context<T, R> {

    /**
     * request
     */
    private T request;

    /**
     * response
     */
    private R response;

    /**
     * 执行成功标志
     */
    private boolean success;

    /**
     * 失败原因
     */
    private Throwable exception;

    /**
     * 上下文额外附加对象
     */
    private Map<String, String> extParams;

}

上下文设计模式具有如下特点:

  1. 所有的请求及返回都在一个对象中,对象包含了请求过程中用到的所有信息,不同应用层以此对象贯穿整个处理生命周期。
  2. 返回值一般都是void,通过异常中断执行或在上下文对象中设置success字段。
  3. 通过对象类型或泛型选择执行方法。

设计技巧

  1. 范型,方便复用。
  2. Map应对复杂场景的折中方案。
  3. 单例模式。

总结

用一个上下文对象包含生命周期的做法,可以将流程处理标准化。减少处理复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值