Memo/짧은 메모

[Spring] 디자인 패턴

생각없이 해도 생각보다 좋다. 2022. 11. 11. 23:57

>디자인 패턴
-디자인이란?
다른 사람들이 객체 지향 설계 기법에 맞춰서 이미 오래전에 만들고 사용해오던 방식(패턴)들
우리들이 같은 방식으로 따라 만들어도 되지만, 이미 정해진 디자인 패턴은 그냥 가져와서 사용할 수도 있다.

>빌더 패턴
: 생성자와 setter을 대신하는 기능을 사용할 수 있는 디자인 패턴이다.
: 필수 정보를 인자로받는 Builder 생성자와 선택 정보를 인자로받는 생성자를 사용할 수 있다.
: 선택 정보 생성자는 메서드명처럼 소문자이고, 선택 정보의 필드명으로 되어있다.
: 빌더 패턴을 사용한 클래스를 만들기 위해서는 build() 메서드를 사용해야한다.
: DTO 또는 Entitiy 클래스에 사용하기 좋다.
: Lombok 에서 @Builder로 지원한다.

>전략 패턴
: 인터페이스와 다형성을 이용한 디자인 패턴이다.
: 전략 패턴은 전략 객체, 전략 객체의 사용자(컨텍스트), 전략 객체를 제공하는 제공자(클라이언트)로 구성되어있다.
: 하나의 인터페이스를 구현한 다양한 전략 객체가 존재하고, 전략 객체를 사용하는 사용자 객체(컨텍스트)가 존재한다.
: 컨텍스트는 전략 객체의 인터페이스를 참조형으로하는 인자를 받아 사용한다. 때문에 Spring 에서는 Spring Bean을 통해 자동으로 주입된다.
: 클라이언트는 전략 객체와 컨텍스트를 이용한 애플리케이션으로 보는 것이 편하다.

'Memo > 짧은 메모' 카테고리의 다른 글

[Git Bash] 단축키  (0) 2022.11.14
[Spring] build.gradle 정리  (0) 2022.11.14
[JUnit] Pagination Sorting(미완)  (0) 2022.11.11
[Spring] Event (미완)  (0) 2022.11.08
[Spring] @RequiredArgsConstructor  (0) 2022.11.08