어떤 디자인 패턴인지 궁금했습니다.이것은 일반적인 디자인 패턴입니까, 가능하면 대리인 패턴입니까?
나는 방법이있다, dao.read().
dao.read(a) {
marshal(a.b)
a.rootField1()
marshal(b) {
b.readField1(); // I want to move these calls ...
b.readField2();
b.readField3();
}
}
는 디자인 패턴으로 리팩토링인가 :
dao.read(a) {
b = a.moreFields
b.readField1(); // I want to move these calls ...
b.readField2();
b.readField3();
a.rootField1();
}
이의 내가 이것으로 그 읽기 방법을 리팩토링 가정 해 봅시다? 또는 리팩토링. 나는 리팩토링을 많이하는 경향이 있고 이름을주고 싶기 때문에 묻습니다. 이 메서드를 마샬링하여 대리자 클래스로 옮긴다면 위임이라고 생각합니다.
이름은 "추출 방법"이며 디자인 패턴이 아니지만 최종 결과에 패턴이 없기 때문에 "리팩토링 패턴"이라고 할 수 있습니다. 방법을 추출하는 바로 그 행동이 그 패턴을 따른다. –
'외관'뿐만 아니라 고전적인 외관처럼 보입니다. 이 경우 마샬링 메서드는 더 큰 코드 본문에 대한 단순화 된 인터페이스입니다. http://en.wikipedia.org/wiki/Facade_pattern –
아니요, 외관은 전혀 관련이 없습니다. 그것은 당신이 당신의 목적에 맞지 않는 외래 API를 가지고있는 경우에 해당하므로, API의 인터페이스를 당신의 목적에 더 잘 맞출 수 있도록 외관의 코드 레이어를 만드십시오. –