这是一种常见的设计模式,可能是委托模式吗?

时间:2012-06-28 12:37:54

标签: java design-patterns

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

我有一个方法,比如说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移动到委托类,我想这是委托。

2 个答案:

答案 0 :(得分:0)

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

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

......但是要成为不同的班级。

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

composite.marshall(<....>);

答案 1 :(得分:0)

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