본문 바로가기

Design Pattern3

[Design Pattern] Composite 패턴 정리 Composite pattern 오늘은 Composite Pattern 에 대해 정리를 해 두고자한다. 해당 패턴은 전체와 부분을 하나의 단위로 추상화해야할 경우 사용된다. 클라이언트 입장에서 메시지 수신자가 부분인지 전체인지에 상관없이 동일한 메시지를 통해 동일한 방식으로 대상과 상호작용해야할 경우 사용하는 패턴이다. 아래는 Composite Pattern 을 다이어그램으로 그린 형태이다. Composite pattern에서 협력에 참여하는 역할과 책임을하는 구성요소를 살펴보자. Component 는 클라이언트와 협력할 수 있는 공용인터페이스를 정의하는 역할을 수행한다. 예시로 든 다이어그램에서는 추가, 제거, 포함된 하위 컴포넌트 반환 등의 역할을 수행한다. Leaf 는 공용 인터페이스에 대한 오퍼레.. 2022. 10. 11.
[Design Pattern] 빌더 패턴 정리 빌더패턴은 디자인 패턴 중 생성 패턴 중 하나이다. 빌더는 복잡한 Object들을 단계별로 구축할 수 있게 해준다. 이 패턴을 활용하면 동일한 구성코드를 통해 다양한 타입과 표현을 제공받을 수 있다. 쉽게말해서 이 패턴을 이용해 우리는 객체를 편리하게 만들어 낼 수 있다. 기존에 우리는 빌더 패턴없이 setter 메서드를 활용하거나 생성자를 이용해 객체를 생성해왔다. 아래는 setter 를 이용한 객체생성의 예시이다. setter public class Person { private String name; private int age; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age =.. 2022. 9. 27.
[Design Pattern] Template Method Pattern 오늘은 간단하게 Template Method Pattern 에 대해 정리해두려 한다. 템플릿 메서드 패턴은 Spring Framework 같은 프레임워크 환경에서 자주 활용되는 패턴이고, 실무코드에서도 중복인 코드를 줄이기 위해 자주 사용되는 패턴이니 잘 정리해두면 좋다. Template Method Pattern이란 ? 템플린 메서드 패턴은 알고리즘의 구조를 상위클래스의 메서드에 정의하고 하위클래스에서 자신에 맞게 세부 알고리즘을 정의하도록하는 패턴이다. 구현하려하는 알고리즘에 일정한 단계가 있을 것이고 , 세부적인 단계들 중에 조금씩 구현내용이 다른 경우 사용하면 된다. 작성 방법은 다음과 같다. 알고리즘의 여러단계를 각 메서드로 선언하고, 그 알고리즘을 수행할 템플릿 메서드를 만들어준다. 하위 클래.. 2022. 1. 12.