Method Object 的核心思想和适用场景

核心观点

Method Object 把一个难以理解和测试的长方法整体搬进新对象,让原本困在局部变量里的中间结果变成对象字段,再把方法体拆成可以单独验证的小步骤。

长方法的麻烦常常不在长度,而在局部变量互相纠缠:每抽出一小段,就要拖上一串参数。Method Object 换了个切入点——不先抽方法,而是先把”这一整段计算”变成一个类:输入变成构造参数,中间结果变成字段,原来的方法体变成该对象上的几个小方法。于是每一步都能独立测试,调用方只关心最终结果。

代价是新增一个类型和一次对象创建,所以它只值得用在确实复杂、需要反复修改和验证的方法上;结构简单的方法,提取函数就够了。

知识连接