본문 바로가기

728x90

패턴

[디자인패턴][생성패턴] 프로토타입 Prototype - C++ [모던 C++ 디자인 패턴] 책을 바탕으로 공부하는 내용을 정리한 내용이다. Prototype pattern 처음부터 모두 새로 만드는 방식(이 경우 팩토리나 빌더 패턴이 유용)은 어렵다. 대신, 이미 존재하는 객체를 이용해 복제해 사용하는 방식은 처음부터 새로 만들지 않고 쉽게 생성할 수 있다. 아니면 일부를 수정하거나 확장할 수도 있을 것이다. 이러한 아이디어를 갖고 프로토타입 패턴이 나오게 된다. 프로토타입 패턴을 이용하면 어떤 모델 객체도 복제할 수 있고, 복제본을 커스터마이징해 사용할 수도 있다. 가장 까다로운 부분이라면, 복제를 구현하는 부분이다. 객체 생성 생성자를 통해 객체를 생성하는 것보다 이미 잘 설정된 객체를 복제하는 것이 보다 쉬운 방법이다. 빌더 패턴을 이용해 복잡한 생성 과정을 .. 더보기
[디자인패턴][생성패턴] 빌더 Builder - C++ [모던 C++ 디자인 패턴] 책을 바탕으로 공부하는 내용을 정리한 내용이다. Builder pattern 생성이 까다로운 객체를 쉽게 처리하기 위한 패턴이다. 즉, 생성자 호출 코드 단 한 줄로 생성할 수 없는 객체를 쉽게 다루는 패턴이다. 코드 한줄로 생성할 수 없는 객체는 다른 객체들의 조합이거나, 상식적인 것을 벗어난 까다로운 로직이 요구된다. 이런 객체는 생성하는 코드를 따로 분리해야 한다. 책에 나오는 예제는 그렇게 까다로워 보이지 않지만, 빌더 패턴을 어떻게 구현하는지, 빌더 패턴을 사용하는 의미가 무엇인지에 대해 설명할 수 있는 정도다. 시나리오 HTML 웹 페이지에 입력할 컴포넌트를 생성한다고 가정하자. 단순하게 "hello"와 "world"를 비순차() 리스트() 태그로 출력하려고 한다... 더보기

728x90