라이브러리

[PHP] CommonMarkInterfacesIVisitable::accept - 방문




PHP 에서 CommonMarkInterfacesIVisitable::accept


CommonMarkInterfacesIVisitable::accept은 Visitor Design Pattern의 핵심입니다. 이 패턴은 객체 구조를 방문하고, 각 객체에 대한 처리를 수행하는 데 사용됩니다.

# Visitor Design Pattern


Visitor Design Pattern은 객체 구조를 방문하고, 각 객체에 대한 처리를 수행하는 데 사용되는 디자인 패턴입니다. 이 패턴은 다음과 같은 특징을 가지고 있습니다.

- Visitor: 객체 구조를 방문하고, 각 객체에 대한 처리를 수행하는 객체입니다.
- Element: 객체 구조의 구성 요소입니다.
- Host: 객체 구조의 주체입니다.

# PHP 에서 CommonMarkInterfacesIVisitable::accept


PHP 에서 CommonMarkInterfacesIVisitable::accept은 Visitor Design Pattern의 핵심입니다. 이 메서드는 Visitor 객체를 받아, 해당 객체에 대한 처리를 수행합니다.

#hostingforum.kr
php

// Visitor.php

interface Visitor {

    public function visit(Element $element);

}



// Element.php

abstract class Element implements CommonMarkInterfacesIVisitable {

    public function accept(Visitor $visitor) {

        $visitor->visit($this);

    }

}



// ConcreteElement.php

class ConcreteElement extends Element {

    public function accept(Visitor $visitor) {

        parent::accept($visitor);

    }

}



// ConcreteVisitor.php

class ConcreteVisitor implements Visitor {

    public function visit(Element $element) {

        // 해당 객체에 대한 처리를 수행합니다.

        echo "Visitor는 Element를 방문했습니다.
";

    }

}



// 사용 예제

$concreteElement = new ConcreteElement();

$concreteVisitor = new ConcreteVisitor();



$concreteElement->accept($concreteVisitor);



# 예제


위의 예제에서, `ConcreteElement`는 `Element` 인터페이스를 구현하고, `accept` 메서드를 오버라이딩합니다. `ConcreteVisitor`는 `Visitor` 인터페이스를 구현하고, `visit` 메서드를 구현합니다.

`ConcreteElement`의 `accept` 메서드는 `ConcreteVisitor`를 받아, 해당 객체에 대한 처리를 수행합니다. `ConcreteVisitor`의 `visit` 메서드는 `ConcreteElement`를 방문하고, 해당 객체에 대한 처리를 수행합니다.

# 결론


CommonMarkInterfacesIVisitable::accept은 Visitor Design Pattern의 핵심입니다. 이 메서드는 Visitor 객체를 받아, 해당 객체에 대한 처리를 수행합니다. PHP 에서 이 메서드를 사용하여, 객체 구조를 방문하고, 각 객체에 대한 처리를 수행할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 581 페이지

검색

게시물 검색