구조 패턴

    [Design Pattern] 구조 패턴 - 브리지 패턴

    github 코드 https://github.com/yaini/Spring_Study/tree/spring-3-design-pattern-structural/design-pattern/src/main/java/structural 브리지 패턴 구현부에서 추상층을 분리하여 각자 독립적으로 변형할 수 있게 하는 패턴 기능과 구현에 대해 두 개의 별도의 클래스로 구현 구현부는 객체에서 동작을 처리하기 위해, 추상부는 확장을 위해 존재한다. 어댑터 패턴이 추가 요구사항을 위해 기능을 추가하는 반면 브리지 패턴은 설계 진행 중에 의도적으로 레이어를 분리시킨다. Abstraction: 기능 계층의 추상 인터페이스 RefindAbstraction: Abstraction을 상속하여 기능을 제공하는 클래스 Implemen..

    [Design Pattern] 구조 패턴 - 컴포지트 패턴

    github 코드 https://github.com/yaini/Spring_Study/tree/spring-3-design-pattern-structural/design-pattern/src/main/java/structural 컴포지트 패턴 복합 객체와 단일 객체를 동일하게 취급할 때 사용하는 패턴 객체들의 관계를 트리 구조로 구성하여 전체-부분 관계로 표현할 수 있다. Component 복합 객체와 단일 객체가 동일하게 가지는 속성과 기능을 가진 인터페이스 Leaf 컴포지트 패턴에서 단일 객체를 의미한다. 트리구조에서 Composite의 자식 역할을 한다. Composite 컴포지트 패턴에서 복합 객체로 Component 인터페이스를 통해 자식 객체를 관리한다. 컴포지트 패턴의 가장 대표적인 예가 폴..