디자인 패턴2 [C++ Design Pattern] Composite Composite 패턴은 객체들을 트리 구조로 구성하여 개별 객체와 복합 객체(객체들의 집합)를 동일하게 취급할 수 있도록 하는 디자인 패턴인데, 객체들 간에 계층 구조를 만들어 트리로 표현하면서 개별 객체와 복합 객체를 일관성 있게 다룰 수 있게 도와줘. #include #include #include class Item { std::string name; public: Item(const std::string& name) : name(name) {} virtual ~Item() {} virtual int get_size() = 0; }; class File : public Item { int size; public: File(const std::string& name, int size) : Item(.. 2023. 11. 29. [c++ Design Pattern] Template Method Template Pattern (템플릿 메서드) 템플릿 메서드 패턴은 어떤 알고리즘의 구조를 정의하고, 이 알고리즘의 특정 단계를 파생 클래스에서 구현할 수 있도록 하는 패턴입니다. 이렇게 하면은 추상 클래스 (interface 역할) 하는 부분은 수정하지 않아도, 새로운 파생 클래스에서 특정 virtual 함수 부분만 정의하면 문제 없이 프로그램이 동작하게 되는 이점이 있습니당. 우선 예제 코드를 살펴보면은, #include #include #include class Edit { std::string data; public: std::string get_data() { data.clear(); while (1) { char c = _getch(); if (c == 13) break; if (isdigi.. 2023. 11. 29. 이전 1 다음