重构——48保持对象完整(Preserve Whole Object)

简介: 保持对象完整(Preserve Whole Object):你从某个对象中取出若干值,将它们作为某一次函数调用时的参数;改为传递整个对象

保持对象完整(Preserve Whole Object)

你从某个对象中取出若干值,将它们作为某一次函数调用时的参数;改为传递整个对象

一、动机

1、减小参数列表,提高代码可读性

2、过度会使依赖结构恶化

二、做法

1、对你的目标函数新添一个参数项,用以代表原数据所在的完整对象

2、编译,测试

3、判断哪些参数可被包含在新添的完整对象中

4、选择上述参数之一,将被调用函数中原来引用该参数的地方,改为调用新添参数对象的相应取值函数

5、删除该参数

6、编译,测试

7、针对所有可从完整对象中获得的参数,重复上述过程

8、编译,测试

目录
相关文章
|
13天前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`'1.2,2,3,4,5'`)转换为对象数组。通过使用`split(',')`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
1月前
|
存储 设计模式 Python
Python中的类(Class)和对象(Object)
Python中的类(Class)和对象(Object)
29 0
|
1月前
|
存储 JavaScript
JS中Map对象与object的区别
JS中Map对象与object的区别
|
2月前
|
Java 流计算
在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
【2月更文挑战第6天】在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
19 3
|
3月前
|
JavaScript 前端开发 测试技术
Proxy vs Object.defineProperty:哪种对象拦截机制更适合你?
Proxy vs Object.defineProperty:哪种对象拦截机制更适合你?
|
3月前
|
存储 JavaScript 前端开发
【JavaScript】<面向对象Object>函数方法&对象创建&原型对象&作用域解析
【1月更文挑战第17天】【JavaScript】<面向对象Object>函数方法&对象创建&原型对象&作用域解析
|
3月前
|
JavaScript 前端开发
如何巧妙使用`Object.keys`方法将`JS`的一个对象的特定的值赋值给另外一个对象
如何巧妙使用`Object.keys`方法将`JS`的一个对象的特定的值赋值给另外一个对象
17 0
|
5月前
|
Java
java判断Object对象是否为空demo
java判断Object对象是否为空demo
|
5月前
判断Object对象是否为空
判断Object对象是否为空
|
8月前
|
JavaScript 前端开发
JavaScript 使用对象字面量创建对象、使用new Object创建对象
JavaScript 使用对象字面量创建对象、使用new Object创建对象
73 0