구성(Composition)을 이용하여 알고리즘과 상세 구현을 분리하여 구현하는 것입니다. 런타임에 변경 가능한 동적형태와 템플릿으로 컴파일 타임에 결정되는 정적 형태가 있습니다. 전략 패턴은 알고리즘의 골격만을 정의하고 세부 구현은 구성(Composition)으로서 특정 전략을 선택적으로 채워 넣을 수 있게 하는 것입니다. 앞으로 단순한 텍스트 목록을 두 가지 포맷(HtmlList, MarkdownList)으로 전략적으로 선별하여 렌더링 하는 것을 구현합니다. 동적 전략 구성(Composition)을 이용하며 런타임에 전략을 동적으로 결정합니다. 전략 패턴의 골격을 위한 ListStrategy 클래스를 구현합니다. struct ListStrategy { virtual void add_list_item(..