
C++ Software-Design Study - 2
·
C++
이전에는 각객체마다 Draw함수가 있어 각 객체가 Draw를 하는 방식이었다. 이것을 조금 바꿔볼건데 2단계를 거쳐서 바꿀것이다. 첫번째 방법은 일반적인 Visitor패턴을 사용하는 방법이고두번째 방법도 Visitor 패턴을 사용하는데 C++의 variant를 사용해서 수정해 볼 것이다. Visitor 이 패턴은 기존 객체의 구조를 변경하지 않고도 새로운 연산을 추가할 수 있게 해주는 패턴이다. 객체 구조와 알고리즘을 분리객체가 방문자를 수용(accept())하면 방문자가 객체를 처리(visit())새로운 작업 추가 시 기존 코드 수정 없이 새로운 Visitor 클래스 구현만으로 확장 가능 코드로 알아보자[Shape 코드]class Shape{public: explicit Shape() = defaul..