开发初期,你可能会在两个classes之间建立一条单向连接,使其中一个class可以引用另一个class.随着时间推移,你可能发现referred class需要得到其引用者(某个object)以便进行某些处理.也就是说它需要一个反向指针.
[反向指针]手法有点棘手,所以在你能够自在运用它之前,应该有相应的测试.通常我不花心思去测试访问函数(accessors),因为普通访问函数的风险没有高到需要测试的地步,但本重构要求测试访问函数,所以它是极少数需要添加测试的重构手法之一.
本重构运用反向指针(back pointer)实现双向关联(bidirectionality).其他技术(例如连接对象,link objects)需要其他重构手法.