Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 모던C++디자인패턴
- 함수형 팩터리
- 팩터리 패턴
- 컴포지트 빌더
- 동적 데커레이터
- 브릿지 패턴
- 빌더 패턴
- 컴포지트 패턴
- 싱글턴 패턴
- 싱글톤 패턴
- 디자인패턴
- 빌더
- 그루비 스타일 빌더
- 내부 팩터리
- 컴포지트
- 싱글턴
- 싱글톤
- 흐름식 빌더
- 동적 데코레이터
- 데커레이터
- 브릿지
- 프로토타입 중복처리
- 데커레이터 패턴
- 단순한 빌더
- 팩터리
- 프로토타입 패턴
- 팩터리 메서드
- 추상 팩터리
- 프로토타입
- 디자인 패턴
Archives
- Today
- Total
목록브릿지 (2)
GGym's Practice Notes
7-2. 브릿지_브릿지 패턴
Pimpl 관례는 브릿지 패턴의 특별한 예이다. Renderer 클래스는 벡터, 래스터로 그릴 수 있다고 한다. Renderer 베이스 클래스는 다음과 같이 정의한다. struct Renderer{ virtual void render_circle(float x, float y, float radius) = 0; }; 실제로 그리지 않고 콘솔에 메세지를 출력한다. struct VectorRenderer : Renderer{ void render_circle(float x, float y, float radius) override{ cout
Design Pattern/Modern C++ 디자인패턴
2020. 5. 18. 23:21
7-1. 브릿지_Pimpl idiom
# Pimpl 관례 Pimpl (Pointer to Implementation) : 구현부를 포인터로 참조하는 관례 아래와 같이 Person의 클래스를 정의한다. struct Person{ string name; void greet(); Person(); ~Person(); class PersonImpl; PersonImpl *impl; }; PersonImpl은 무엇인가? 클래스의 구현부를 다른 클래스(PersonImpl)에 숨기고자 하는 의도에서 발생한다. 구현 클래스 PersonImpl을 헤더파일이 아닌 .cpp 파일에 정의하는 것이 핵심적이다. PersonImpl의 정의는 아래와 같다. struct Person::PersonImpl{ void greet(Person* p); }; Person 클래..
Design Pattern/Modern C++ 디자인패턴
2020. 5. 18. 20:49