반응형

방문자 패턴(Visitor Pattern) 4

[C#] 방문자 패턴(Visitor Pattern) - 구현

25. 방문자 패턴(Visitor Pattern) [그림] 방문자 패턴(Visitor Pattern) 클래스 다이어그램 25.4 구현 반복자 패턴에 대한 예제 프로그램을 구현하는 순서는 Element 군, Visitor 군, MyTour와 데모 코드 순으로 하겠습니다. 25.4.1 Element 군 MyTour는 사진과 일기를 통합 관리하는 컬렉션 입니다. 사진과 일기와 같이 MyTour에서 관리 가능한 요소에 대한 기반 클래스를 Element라 정하고 사진을 Picture, 일기를 Diary라 정하겠습니다. 방문자 패턴에서는 요소에 따라 다르게 처리해야 할 기능들을 구체화 된 방문자 형식을 정의를 하고 실제 요소 형식에서는 단순히 방문자를 수용하는 메서드만 정의를 합니다. 즉, 실질적인 구현은 각 요소..

[C#] 방문자 패턴(Visitor Pattern) - 설계(Design)

25. 방문자 패턴(Visitor Pattern) 25. 3 디자인 반복자 패턴에 대한 설명을 위한 예제로는 여행에 대한 일기 형식의 기록과 사진을 통합 관리하는 응용을 가지고 보여 드릴께요.. 응용에는 여행에서의 사진과 일기를 보관하는 컬렉션을 두려고 합니다. 일단, 사진과 일기는 해당 컬렉션에 같이 보관할 수 있게 하기 위해 기반 클래스를 만들어야 겠지요. 그리고, 해당 컬렉션에 특정 명령을 내렸을 때 사진이나 일기에 따라 구체적 행위가 다르게 적용해야 하는 기능들을 추상화 하여 방문자를 정의할 것입니다. 그리고, 사진과 일기의 기반 클래스에서는 방문자를 수용할 수 있게 하고 방문자에서 자신을 처리할 수 있는 메서드를 호출하게 할께요. 대신 방문자에서는 일기와 사진과 같은 요소 형식들에 따라 처리하는..

[C#] 방문자 패턴(Visitor Pattern) - 개요, 시나리오

25. 방문자 패턴(Visitor Pattern) 25.1 개요 프로그래밍을 하다 보면 여러 구성 요소들로 구성된 개체를 정의해야 하는 경우는 매우 흔한 일입니다. 그리고, 특정 명령을 수행함에 있어 내부 구성 요소 개체들의 형식에 따라 적용해야 할 구체적 행위가 다른 경우가 있을 것입니다. 이와 같은 경우에 방문자 패턴을 사용하면 개체들의 형식에 따라 적용해야 할 구체적 행위를 분리하여 정의할 수 있습니다. 이는 새로운 행위를 정의할 필요가 생길 경우에도 구성 요소 형식을 변경하지 않으면서 추가할 수 있게 됩니다. 방문자 패턴에서는 개체를 구성하는 여러 요소 개체들에게 요소의 형식에 따라 수행할 구체적 작업을 방문자에 정의하게 됩니다. 대신 요소의 형식에서는 방문자를 수용하는 메서드를 제공을 하고 방문..

[소프트웨어 패턴 C#] 25. 방문자 패턴(Visitor Pattern)

25. 방문자 패턴(Visitor Pattern) 프로그래밍을 하다 보면 여러 구성 요소들로 구성된 개체를 정의해야 하는 경우는 매우 흔한 일입니다. 그리고, 특정 명령을 수행함에 있어 내부 구성 요소 개체들의 형식에 따라 적용해야 할 구체적 행위가 다른 경우가 있을 것입니다. 이와 같은 경우에 방문자 패턴을 사용하면 개체들의 형식에 따라 적용해야 할 구체적 행위를 분리하여 정의할 수 있습니다. 이는 새로운 행위를 정의할 필요가 생길 경우에도 구성 요소 형식을 변경하지 않으면서 추가할 수 있게 됩니다. 방문자 패턴에서는 개체를 구성하는 여러 요소 개체들에게 요소의 형식에 따라 수행할 구체적 작업을 방문자에 정의하게 됩니다. 대신 요소의 형식에서는 방문자를 수용하는 메서드를 제공을 하고 방문자를 통해 자신..

반응형