Don't be afraid of challenges

[usg] 디자인패턴 본문

웹서비스

[usg] 디자인패턴

초아롱 2023. 10. 18. 12:48
생성패턴 객체 생성 과정 표준화(객체 생성 관련된 복잡성 추상화) 싱글톤
팩토리메소드
빌더
프로토타입
추상팩토리
구조패턴 큰 규모 프로그램
클래스와 객체의 조합을 통해 더 큰 구조 형성
자료구조, 인터페이스 구조, 객체간의 관계 등 정리 최적화
어댑터
데코레이터
프록시
컴포지트
퍼사드
행동패턴 클래스와 객체의 상호작용과 책임분배에 중점
행동 캡슐화, 객체 간 통신 단순화
클래스와 객체 행동을 독립적으로 변경하여 확장
옵저버
전략
커맨드
템플릿 메소드
상태

 

싱글톤 인스턴스 한개만 생성, 전역 접근점 제공
팩토리메소드 생성 로직을 서브클래스에게 위임
빌더 객체 집합을 생성할 인터페이스 제공,구체적 지식 없이도 생성
프로토타입 동일한 생성과정에서 서로 다른 표현 결과 생성
추상팩토리 인스턴스 복사
어댑터 클래스의 인터페이스를 다른 인터페이스로 변환하는 패턴, 작동할수 없는 클래스들의 함께 작동하게 함
데코레이터 새로운 책임 추가 가능, 상속
프록시 다른 객체에 대한 인터페이스 제공하여 객체 접근 제어 =>원격,가상,보호
컴포지트 객체 그룹을 단일 객체처럼 다룰 수 있게 함
퍼사드 단순화된 인터페이스 제공, 클라이언트가 복잡한 시스템에직접적으로 접근하는 거 방지
옵저버 의존성 정의, 한 객체의 상태가 변경될 때 모든 의존 객체에게 자동으로 알림 보냄
전략 알고리즘 캡슐화하여 서로 교환 가능하게 함, 독립적으로 변경 가능하여 클라이언트에 영향 X
커맨드 요청을 객체로 캡슐화하여 클라이언트의 다른객체에 요청을 쉽게 전달
템플릿 메소드 알고리즘의 스켈레톤을 정의, 일부 단계를 서브클래스에게 위임
상태 객체 내부 상태에 따라 객체 행동 변경, 객체가 자신의 클래스를 바꾸는 것 처럼 보이게 함