我有一个创建“数据持有者”对象的类,然后用一些修饰符类修改这个对象,类似于:
public class Process {
public void Run() {
var dataHolder = new DataHolder();
var firstModification = new FirstModification(dataHolder);
firstModification.Run();
var secondModification = new SecondModification(dataHolder);
secondModification.Run();
//etc.
}
}
public class FirstModification {
DataHolder data_holder;
public FirstModification (DataHolder dh) {
data_holder = dh;
}
public void Run() {
// do something with data_holder
}
}
public class SecondModification {
// etc.
}
在此代码中,每个修改构造函数必须接收dataHolder
作为参数,并带有相应的样板,修改器类中的重复代码。
因此,如果可能和/或建议,我希望每个修改器对象都“已经知道”方法dataHolder
内部存在的活动对象Process.Run()
(可以说是它的“父范围”),而无需将其作为修饰符构造函数的参数。
编辑:我正在尝试实现管道(又名管道和过滤器)设计模式,灵感来自此处和此处描述的内容。
谢谢你的帮助!