Java 개발자는 기본 개체를 조작하는 것과 똑같은 방식으로 합성을 조작해야 하는 경우가 많기 때문에 복합 패턴이 필요합니다. 예를 들어 선이나 텍스트와 같은 그래픽 프리미티브를 그려서 이동하고 크기를 조정해야 합니다. 그러나 이러한 기본 요소로 구성된 도면과 같은 복합 재결과도 동일한 작업을 수행하려고 합니다. 이상적으로는 두 개체를 구분하지 않고 동일한 방식으로 기본 개체와 복합 체모두에서 작업을 수행하는 것이 좋습니다. 이러한 두 가지 유형의 개체에서 동일한 작업을 수행하기 위해 기본 개체와 복합 체를 구분해야 하는 경우 코드는 구현, 유지 관리 및 확장하기가 더 복잡해지고 더 어려워질 것입니다. 클라이언트가 개체의 컴포지션과 개별 개체의 구성 차이를 무시해야 하는 경우 복합 패턴을 사용해야 합니다. 프로그래머가 동일한 방식으로 여러 개체를 사용하고 있고 각 개체를 처리하기 위해 거의 동일한 코드를 사용하는 경우 복합재가 좋은 선택인 경우 이 상황에서 는 프리미티브 및 복합재를 균일한 것으로 취급하기가 덜 복잡합니다. 친절한 단어에 대한 감사 Yogesh, 디자인 패턴 기사를 확인하시기 바랍니다. 나는 다음 달에 봄 튜토리얼을 시작할 계획이다. 복합 패턴을 구현하는 것은 쉽습니다. 복합 클래스는 기본 개체를 나타내는 기본 클래스를 확장합니다.

그림 1은 복합 패턴의 구조를 보여 주는 클래스 다이어그램을 보여 줍니다. 다음은 모든 복합 패턴 기반 솔루션의 참가자입니다. 아파치 스트럿츠 프레임 워크는 JSP 태그 라이브러리를 포함, 타일로 알려진, 여러 JSP에서 웹 페이지를 구성 할 수 있습니다. 타일은 실제로 J2EE의 구현이다 (자바 2 플랫폼, 엔터프라이즈 에디션) CompositeView 패턴, 자체 는 디자인을 기반으로 패턴 복합 패턴입니다. 복합 패턴의 타일 태그 라이브러리에 대한 관련성에 대해 논의하기 전에 먼저 타일에 대한 근거와 이를 사용하는 방법을 살펴보겠습니다. 스트럿츠 타일에 이미 익숙한 경우 다음 섹션을 훑어보고 “스트럿트 타일로 복합 패턴 사용”에서 읽기를 시작할 수 있습니다. 복합 패턴의 요점은 합성을 리프처럼 원자적으로 처리할 수 있다는 것입니다. 이터레이터 프로토콜을 제공하려는 경우, 잘,하지만 난 그 패턴 자체 밖에 있다고 생각합니다. 이 패턴의 핵심은 클라이언트가 내부에 많은 개체가 있다는 것을 알 필요 없이 개체에 대한 작업을 수행할 수 있는 기능입니다. 이제 복합 패턴과 구현 방법을 이해되었으므로 Apache Struts JavaServer 페이지(JSP) 프레임워크를 통해 복합 패턴 예제를 살펴보겠습니다. 그림 1의 클래스 다이어그램에서 디자인 패턴의 복합 패턴 토론에서 클래스 이름을 사용했습니다.