FE/기타

[FE] 실무 예제형 디자인 패턴

지금해냥 2024. 10. 11. 17:21

강의를 듣고 패턴을 각각 내 나름대로 해석해서 한줄 요약정리한 내용임.

확실히 설계 단계에 고려해서 작성하면 코드가 효율적으로 작성될 수 있을 것 같다는 생각이 들었습니다.

생성패턴
- 싱글톤 패턴 -- 한가지 기능을 수행하는 함수
- 추상 팩토리 패턴 -- 여러가지 방향을 가지고 있는 패턴 (특정 값에 따라 가지고 있는 기능을 수행 ex) 조건문에 따라 동작)
- 팩토리 메소드 패턴 -- 특정 기능을 기반으로 동작하는 메소드를 타고 타고 동작하도록 만드는 패턴 (c -> b -> a 수행)
- 빌더 패턴 -- 특정 기능을 위해 여러가지 동작을 나눠놓고 필요에 따라 추가해서 쌓아가는 패턴 (A.b-> A.c ->A.c 를 통해 A를 쌓아서 빌드업)

구조패턴
- 어댑터 패턴 -- 외부 요소를 거쳐서 특정 기능을 사용하도록 만드는 패턴 (c가 a를 동작하기위해 b를 거쳐가야함)
- 브릿지 패턴 -- 선택에 따라 값을 바꿀 수 있는 패턴(특정 A라는 요소에 B 또는 C를 덧씌울 수 있는 것을 선택)
- 컴포지트 패턴 -- 각각의 메뉴의 하위요소에 빌더패턴 처럼 기능 제공하는 패턴
- 데코레이터 패턴 -- A를 수행하기 위해 암호화, 유효성 검사 등 추가적인 처리를 거쳐 수행하는 패턴
- 퍼사드 패턴 -- 여러개의 API를 통합하여 단순화된 1개의 인터페이스로 특정 값에 접근하는 패턴

행위 패턴
- 템플릿 메소드 패턴 -- 특정 A 기능을 처리하는 중간에 준비단계, 전송단계, 응답 처리 단계 각각에 기능을 수행하도록 하는 패턴
- 책임 연쇄 패턴 -- 각각의 독립적인 기능을 통해 유효성 검사, 인증 등 과정을 처리하는 패턴
- 이터레이터 패턴 -- 순회하면서 해당 기능을 사용할 수 있도록 제공하는 패턴 (ex) 페이지 네이션 이나 게시판)
- 메멘토 패턴 -- 수행한 기능을 기억하도록 하는 패턴 (뒤로가기나 앞으로가기 기능을 제공하도록 변경사항을 저장하면서 동작함)
- 옵저버 패턴 -- 구독과 비슷한 기능을 하는 패턴 (특정 기능에 연결하여 해당 값이 변경되었을 때, 해당 값과 연결된 각각에 해당 변경을 전달함)

LIST