1

我很好奇这是什么类型的设计模式。

我有一个方法,比如 dao.read()。

dao.read(a) {
    b = a.moreFields
    b.readField1();  // I want to move these calls ...
    b.readField2();
    b.readField3();

    a.rootField1();
}

假设我将 read 方法重构为:

dao.read(a) {
    marshal(a.b)
    a.rootField1()

    marshal(b) {
      b.readField1();  // I want to move these calls ...
      b.readField2();
      b.readField3();      
    }
}

这是重构为设计模式吗?或者只是重构。我之所以这么问,是因为我经常进行这种类型的重构,并想给它起个名字。如果我将该方法编组移动到委托类,我猜它是委托。

4

2 回答 2

0

这不是设计模式。充其量是“多态性”,这是 OOP 的基本特征。您可以将处理添加为对象 a 的类 A 和对象 b 的 B 的方法。嘿会分享界面

interface Marshall {
  void marshall(<...>);
}

...但是是不同的班级。

一旦你这样做了,显而易见的 DP 将使用包含 A 和 B 的组合,并执行

composite.marshall(<....>);
于 2012-06-28T13:19:42.067 回答
0

您所拥有的不是设计模式,而是辅助方法。

于 2012-06-28T13:30:41.890 回答