반응형 TemplateMehod1 [C++] Design Pattern - Template Method 기법 Template method 기법 - 모든 도형에 공통적으로 변하지 않는 전체적인 흐름을 기반 클래스에서 제공하고 - 각 도형 별로 변해야 하는 부분을 가상 함수로 제공해서 파생 클래스가 재정의 할 수 있게 한다. #include #include using namespace std; class Shape { public: // [문제] 가상의 멀티스래드 세이프에 대한 고려 virtual void Draw() final { // 변하는 것을 가상함수로 뽑아낸다. // -> Lock, Unlock 은 변화하지 않는 코드 // -> 실재 그리기 로직만 변화가 있는 코드이다. -> 이것을 함수로 빼냄 -> DrawImp() cout private 또는 protected virtual Shape* Clone() .. 2020. 11. 25. 이전 1 다음 반응형