11. Composite Pattern

Jimin Lim·2021년 12월 3일
0

Design Pattern

목록 보기
12/12
post-thumbnail

부분- 전체 계층 구조를 보일 수 있도록 객체들을 트리 구조로 구성한다.

Problem

프로그램에서 각각의 객체 또는 계층 구조로 이루어진 객체 묶음을 다루어야 함

Solution

개별 객체와 복합 객체에 대해 동일한 작업을 적용시킬 수 있도록 한다.

  • Component: 개별 객체 뿐만 아니라 이러한 개별 객체들을 계층 구조로 포함하는 복합 객체를 나타내는 인터페이스 또는 추상 클래스
  • Leaf: 개별 객체에 해당되는 컴포넌트
  • Composite: 다른 컴포넌트를 포함할 수 있는 요소, 개별 객체 또는 다른 복합 객체를 포함할 수 있다.

예시 - 식당 메뉴 프로그램

: 여러 개의 메뉴만 지원하는 것이 아니라 메뉴 안에 메뉴가 있을 수 있다.

  • MenuItem: leaf에 해당하는 클래스로, 개별 객체
  • Menu: MenuComponent를 구현하면서, MenuComponent를 포함할 수 있다.
profile
💻 ☕️ 🏝 🍑 🍹 🏊‍♀️

0개의 댓글