본문 바로가기
프로그래밍/Java

디자인 패턴

by 3.14pie 2023. 5. 11.

Factory Method - 사용할 클래스를 정확히 몰라도 개체 생성을 가능하게 해주는 패턴, 클라이언트가 익숙한 인자를 통해 개체를 생성할 수 있음, 오류 시 null 반환 가능, 다형적으로 개체 생성 가능 (가상 생성자 패턴)

 

Builder - 개체의 생성 과정을 그 개체의 클래스로부터 분리하는 방법, 개체의 부분을 만들어가다 준비되면 개체를 생성, Fluent Interface 기능, String

 

Sequence Diagram - 개체들이 서로 통신하는 모습을 보여주는 UML 다이어그램, 동작을 시간의 흐름에 따라 나타냄

 

Wrapper Pattern - Adapter Pattern이라고도 함, 어떤 클래스의 메서드 시그니처를 변경할 때 사용(외부 라이브러리를 바꿀 때, 클라이언트 코드를 변경하지 않기 위해, 코딩 표준에 맞지 않아서, 기존 클래스에 기능을 추가하기 위해, 내부 개체를 클라이언트에게 노출시키지 않기 위해-DTO), 해당 클래스의 시그니처를 직접 변경하진 않음, 새 클래스가 기존 클래스를 감싸고 있는 느낌

 

Proxy Pattern - 클래스 안에서 어떤 상태를 유지하는게 어려운 경우(데이터가 커서 메모리 부족, 개체 생성 시 데이터 로딩 시간 지연, 개체를 생성했지만 그 데이터를 사용하지 않을 수도 있음), 불필요한 데이터 로딩 방지(개체 생성 시 필요한 정보-파일 위치 만 기억함, 클라이언트가 실제로 데이터를 요청할 때 메모리에 로딩)

 

Chain of Responsibility Pattern - 자신이 해결하지 못하면 다음으로 넘김

 

Observer Pattern - 최근엔 pub-sub pattern을 사용, 핸드폰의 푸시 알람 기능(이벤트 주도 아키텍쳐)이 그 예, 함수 포인터를 이용한 콜백 함수

'프로그래밍 > Java' 카테고리의 다른 글

SOLID 설계, 그 외 소수설  (0) 2023.05.16
예외 처리, 오류 처리  (0) 2023.05.13
다형성  (0) 2023.02.02
상속, 컴포지션  (0) 2023.01.29
상속  (0) 2023.01.17