일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 팩터리 패턴
- 팩터리 메서드
- 브릿지 패턴
- 컴포지트
- 컴포지트 빌더
- 디자인 패턴
- 빌더
- 흐름식 빌더
- 동적 데코레이터
- 데커레이터
- 프로토타입 패턴
- 프로토타입 중복처리
- 싱글턴 패턴
- 그루비 스타일 빌더
- 동적 데커레이터
- 함수형 팩터리
- 팩터리
- 컴포지트 패턴
- 싱글톤
- 추상 팩터리
- 단순한 빌더
- 내부 팩터리
- 싱글톤 패턴
- 디자인패턴
- 브릿지
- 프로토타입
- 싱글턴
- 데커레이터 패턴
- 모던C++디자인패턴
- 빌더 패턴
- Today
- Total
목록프로토타입 패턴 (2)
GGym's Practice Notes
자주 복제해서 사용할 기본 객체들이 미리 정해져있다면 프로토타입 팩터리를 사용하는 것이 좋을 수 있다. 전역변수를 선언하여 복제해 사용해도 좋겠지만 프로토타입을 저장한 별도의 클래스를 두고 사용자가 원할 때, 목적에 맞는 복제본을 요구받는 시점에 만들어 제공하는 것이다. struct EmployeeFactory{ static Contact main; static Contact aux; static unique_ptr NewMainOfficeEmployee(string name, int suite){ return NewEmployee(name, suite, main); } static unique_ptr NewAuxOfficeEmployee(string name, int suite){ return NewE..
책에서는 직렬화도 소개한다. (모던CPP디자인패턴/https://book.naver.com/bookdb/book_detail.nhn?bid=14742427) 직렬화는 어떠한 객체 데이터를 비트의 나열로 만들어 파일로 저장하거나 네트워크로 전송할 수 있게 하는것을 말한다. 직렬화를 사용하면 객체복제를 쉽게 할 수 있게 만든다. 객체를 비트열로 나타내고 역직렬화를 통해 모든 정보와 내부 구성요소들을 복구 할 수 있다. 이 작업은 복제작업과 동일하다. C++은 아쉽게도 직렬화를 표준으로 지원하지 않는다. Boost 라이브러리를 사용하여 지원하지만 나는 라이브러리나 코드생성기의 도움 없이 코드를 구현하고 싶다... 전체 코드 : #include #include #include #include #include u..