디자인 패턴
: 반복되는 문제에 대한 해결책
: 특정 문제를 해결하는 방법에 대한 지침
주의사항
- 억지로 적용하지 말기
- 문제의 해결책이며 문제를 찾는 해결책은 아니다
디자인 패턴 종류
생성 / 구조 / 행동
생성 패턴
객체를 인스턴스화 하는 방법에 초점을 맞춘다.
빌더 Builder
- 생성자의 오염을 방지하면서 객체의 다양한 버전을 생성할 수 있게 해주는 패턴
- 한 객체에 여러가지 버전이 있을 때 or 객체의 생성에 많은 단계가 포함될 때 유용
- 팩토리 패턴과 주요 차이점은 팩토리 패턴은 생성이 한단계인 경우에 사용되는 반면 빌더 패턴은 생성이 여러 단계인 경우에 사용된다.
점층적 생성자 안티 패턴
해당 코드처럼 생성자의 매개변수가 많아서 이해하기 어려워질 수 있다.
constructor(size: string, cheese: boolean = true, pepperonu: boolean = true ...) {
}
싱글톤
- 특정 객체가 한번만 생성되도록 보장한다.
- 안티패턴으로 간주되며 과도한 사용은 피해야한다.
생성자를 비공개로 만들고 복제와 확장을 비활성화하고 인스턴스를 저장할 정적 변수를 생성한다.
class President {
private static instance: President;
private constructor() {
}
public static getInstance(): President {
if(!President.instance) {
President.instanse = new President();
}
return President.instance;
}
구조 패턴
소프트웨어 구성요소를 어떻게 만들 것인가?에 대한 답을 하는데 도움이 된다.
엔티티간의 관계를 구현하기 위한 간단한 방법을 파악해냄으로써 디자인하는 것을 쉽게 만드는 디자인패턴
행동 패턴
소프트웨어 구성요소에서 어떻게 동작을 실행할 것인가?에 대한 답을 하는데 도움이 된다.
객체간의 공통적인 통신 패턴을 식별하고 이러한 패턴을 구현하는 설계 패턴
참고
728x90
반응형
'클린아키텍처' 카테고리의 다른 글
멀티 프로세스 (0) | 2024.10.13 |
---|---|
모놀리식 아키텍처의 한계 (0) | 2023.06.05 |
디자인 패턴의 종류 (0) | 2023.03.19 |
우아콘2022 - 아키텍처 발표 (1) | 2022.10.21 |
[클린아키텍처] 34장 빠져있는 장 (0) | 2022.03.21 |
댓글