2009-10-21 6 views
0

이 디자인 패턴을 어떻게 정의합니까?이 디자인 패턴은 어떻게 불립니까?

class Foo { 
    protected $delegates = array(); 
    //... 
    public function __call($method,$argv) { 
     //call $this->$something->$method($argv), where $something is a mapping from $this->delegates 
    } 
} 

내가 추측 할 수는 있지만 잘 모르겠다. 그래서 나는 너에게 묻고 싶다.

답변

2

적절하게 명명 된 Delegation pattern?

+0

회원의 이름 때문에 말하고있는 것입니까, 아니면 정말로 그 이름을 올바르게 지었습니까? :) – Flavius

+0

당신은 당신의 예제에서 'delegates'라는 단어를 사용했기 때문에. :) – Amber

+0

누군가 확인 했습니까? 나는 내 이름 붙이기 대회를 믿지 않는다 :-) – Flavius

4

위임과 상속은 모두 객체 지향 소프트웨어 설계에서 중요한 개념이지만 모든 사람이 패턴으로 표시하지는 않습니다. 특히 "Gang of Four"의 디자인 패턴에 관한 책에는 상속 및 위임에 대한 논의가 포함되어 있지만 저자는 이러한 주제를 구체적인 패턴으로 취급하지 않습니다. 특정 디자인 패턴보다 더 일반적인 디자인 개념으로 생각하는 것이 합리적입니다.

위임은 한 개체가 특정 메서드 호출을 대리인이라는 다른 개체로 전달하는 개체 간의 관계로 볼 수 있습니다. 위임은 강력한 디자인/재사용 기술이기도합니다. 위임의 주된 이점은 런타임 유연성입니다. 즉, 위임자는 런타임에 쉽게 변경할 수 있습니다. 그러나 상속과 달리 대표단은 가장 널리 사용되는 객체 지향 언어로 직접 지원되지 않으며 동적 다형성을 촉진하지 않습니다.

+2

답장을 보내 주셔서 감사합니다. 2009 년 이후로 오랜 시간이 걸렸으므로 그 이후로 나는 많은 것을 배웠습니다. 그럼에도 +1 답변 :-) – Flavius

관련 문제