使用建造者模式构建方法参数,将方法与方法参数解耦

MinIO中使用建造者模式构建方法的参数

例如:

PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .bucket(BUCKET_NAME)
                    .object(objectName)
                    .contentType(file.getContentType())
                    .stream(file.getInputStream(), file.getSize(), ObjectWriteArgs.MIN_MULTIPART_SIZE).build();
minioClient.putObject(putObjectArgs);
以往将多个参数传入()中的问题
  • 可读性较差
    一行代码过长,分多行也不够明确
    参数对应的是什么,需要记住或者ide提示
  • 错误重载
  • 违反开闭原则
    当需要新增或修改参数时,需要修改方法签名

使用建造者模式构建方法参数的优点

提供了一种规范

方法入参唯一,是methodNameArgs

便于参数构建
  • 链式调用清晰明了(编写、阅读、维护)
  • 可选参数处理提供了灵活性
符合开闭原则

需要新增或修改参数时,只需要修改建造者类

这些好处,本质上来源于方法与方法参数的解耦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值