Go로 작성된 복합체
복합체 패턴은 객체들을 트리 구조들로 구성한 후, 이러한 구조들을 개별 객체들처럼 다룰 수 있도록 하는 구조 패턴입니다.
복합체는 트리 구조를 생성해야 하는 대부분 문제에 대해 인기 있는 해결책입니다. 전체 트리 구조에 대해 재귀적으로 메서드들을 실행하고 결과를 요약하는 기능은 복합체의 훌륭한 기능 중 하나입니다.
개념적인 예시
운영 체제의 파일 시스템을 예시로 들어 복합체 패턴을 이해해 봅시다. 예시의 파일 시스템에는 파일과 폴더라는 두 가지 유형의 객체가 있으며 때로는 파일과 폴더를 같은 방식으로 취급해야 하는 경우가 있는데 이럴 때 복합체 패턴이 유용합니다.
파일 시스템에서 특정 키워드에 대한 검색을 실행해야 한다고 상상해 보세요. 이 검색 작업은 파일과 폴더 모두에 적용됩니다. 파일의 경우 파일 내용만 살펴보나 폴더의 경우 검색된 키워드를 찾기 위해 해당 폴더의 모든 파일을 탐색합니다.