본문 바로가기

JAVA/GOF Design Pattern

Gof 비지터(Visitor) 패턴

SMALL

비지터 (Visitor) 패턴은 행동 패턴의 한 종류로, 객체의 구조와 행동을 분리하여 캡슐화하는 데 사용됩니다. 이 디자인 패턴을 사용하면 새로운 행동을 기존 클래스 구조에 추가할 수 있으며, 이를 통해 클래스의 수정 없이도 기능을 확장할 수 있습니다.

자바에서의 비지터 패턴은 다음과 같은 구조를 가집니다.



위의 코드에서 Visitor는 방문자를 나타내며, 방문할 각 Element에 대한 visit() 메서드를 정의합니다. 각 Element는 accept() 메서드를 통해 방문자를 받아들입니다. 이 accept() 메서드는 방문자의 visit() 메서드를 호출하며, 이 방식을 통해 요소의 행동이 방문자에 의해 결정되고 실행됩니다.

비지터 패턴은 클래스의 확장을 쉽게 만들어줍니다. 하지만, 동일한 방식으로 클래스의 변경이 필요할 때는 비지터 패턴이 복잡성을 증가시킬 수 있으므로 주의해야 합니다.

LIST

'JAVA > GOF Design Pattern' 카테고리의 다른 글

Gof 자바 Chain of Responsibility 패턴  (0) 2023.05.25
GOF 자바 스테이트(state) 패턴  (0) 2023.05.18
GOF 자바 프록시 패턴  (0) 2023.05.15
GOF 플라이웨이트 패턴  (0) 2023.05.13
GOF Composite 디자인패턴  (0) 2023.05.13