[阅读: 674] 2004-10-10 09:16:13
比如,走迷宫问题,和上次的猴子过河问题,都可以抽象为连通图求路径问题
针对连通图求路径问题我们可以编写一个抽象的算法
然后针对每个具体的问题,编写它自己特殊的那一部分
然后套用到“连通图求路径”的公共算法中去
其实这种问题,本来有两个解决思路,一个是利用类继承/虚拟方法重载来实现
一个是利用泛型思路来实现
但是利用[类继承/虚拟方法重载]来实现的话
必然要求客户代码将他自己的业务对象插入到我们提供的一个固定的类继承结构里面来
这样对客户代码的限制就比较大了,而且很可能扰乱客户代码自身的类继承关系
用泛型思路来做的话,我们只需要提供一个现成的算法
然后要求客户代码通过实现接口的方式支持一些运算就可以了
最后的结果,类关系比较清晰
DISSENT IS THE HIGHEST FORM OF PATRIOTISM !
--Thomas Jefferson