软件重构的问题

不知道你怎么看待重构与模式结合的问题?尤其是对于一个复杂关系的几个类,把它们重构为中间人模式,又要保持对外的接口不变,这么做有价值么?

应该这样啊 ,委托模式我觉得应该属于中间人模式一种。

不知道你说的重构和我说的 reengineer 是不是一回事。
直到几个月前,我才意识到,软件真正从新做起的毕竟是少数,
而更多情况下,是要与正在运行的系统相结合。
对老的系统进行改造(ReEngineer),使新老系统更好地结合在一起。
这在软件开发中占了很大的比重。
这件事做得好了,真的是艺术啊~~~

软件再工程分为正向工程和逆向工程,正向工程就是从设计图,如UML图,到代码的生成过程;而我们有时面对的只是已存在的代码,完成代码到图的转换就是逆向工程,它可以再现设计者的意图。
我所说的软件重构,实际上是一种代码级的程序转换,它是在保证已存在代码外部可观察行为不变的情况下,来修改它的内部结构,去除冗余,增加灵活性,增加可理解性。有人说:重构的目的是设计模式,重构技术本身只是实现这些模式的方法。这种技术强调小的改变,自动测试的使用,防止引入人为的bug。所以,程序稍大,就会发现使用工具进行自动的重构是很必要的。
所以,我想做的是基于中间人模式的重构工具(希望可以自动执行),想听听大家的意见:)
比如,在实现时,对于原来类我希望保持对外的接口不变,那么如果它把其它依赖类的实例作为自己的成员变量时,我该怎么处理比较好?我个人认为,如果是共有的,应该继续保持,如果它是私有的,想把它移动到中间人类里,然后用中间人中的授权方法来替代它在原来类中的使用
其它的呢?

参考ofbiz.org的ofbiz
其中代理委托引擎,你可以看看源代码