我很好奇这是什么类型的设计模式。
我有一个方法,比如 dao.read()。
dao.read(a) {
b = a.moreFields
b.readField1(); // I want to move these calls ...
b.readField2();
b.readField3();
a.rootField1();
}
假设我将读取方法重构为:
dao.read(a) {
marshal(a.b)
a.rootField1()
marshal(b) {
b.readField1(); // I want to move these calls ...
b.readField2();
b.readField3();
}
}
这是重构为设计模式吗?或者只是重构。我问这个问题是因为我非常倾向于这种类型的重构,并且想给它一个名字。如果我将该方法编码(marshal)至委托(delegate)类,我猜它就是委托(delegate)。
最佳答案
这不是一个设计模式。充其量就是“多态性”,这是OOP的一个基本特征。您可以将处理添加为对象 a 的类 A 和对象 b 的类 B 的方法。嘿会分享界面
interface Marshall {
void marshall(<...>);
}
...但是是不同的类别。
一旦你这样做了,显而易见的 DP 将使用包含 A 和 B 的复合 Material ,并且执行
composite.marshall(<....>);
关于java - 这是一种常见的设计模式,可能是委托(delegate)模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244822/