我有一个worker类的层次结构,所有这些类都对工件进行某种处理。我们的想法是,每个工人做一些预处理,推动工件的子类,然后做一些后处理: public void process(Workpiece wp) {
doPreprocessing(wp);
sub.process(wp); // this obviously doesn't work
doPostProce
我常常陷入的情况时,我想使用模板方法模式,但模板方法需要不同类型的参数,如: public abstract class AbstractFoo {
public void process(TypeA a, TypeB b) {
//do common processing
if (b == null) {
doProcess(a);