Programming/JavaScript
웹시스템개발 기말고사 핵심 정리 -2 디자인 패턴
따`ddah
2024. 6. 10. 19:59
팩토리 패턴
다른 클래스의 객체를 생성하는 클래스로 객체의 생성을 한 곳에서 관리하는 패턴
* 다른 클래스의 객체 : circle, square, triangle
* 생성을 한 곳 : shape factory
팩토리 메소드 패턴
추상 클래스를 상속한 클래스들이 컴포지션하는 추상 타입의 객체들을 메소드에서 생성하는 패턴
*컴포지션 : 객체 합성 (객체나 클래스를 더 복잡한 자료구조나 모듈로 묶는 행위)
'AnimalFactory' 추상 클래스와 그 아래 'DogFactory', 'CatFactory' 클래스가 각각 'Dog'와 'Cat' 객체를 생성하는 구조를 보여줍니다.
추상 팩토리 패턴
추상 메소드를 정의하는 패턴
어떤 추상 메소드? 추상 타입의 객체를 생성하는
전략 패턴
실행 중에 알고리즘(전략)을 선택할 수 있게 하는 패턴
커맨드 패턴 (command : 명령, 요청)
요청을 객체 속에 캡슐화
옵저버 패턴 (observer : 상태 변화 관찰)
한 객체의 상태변화에 따라 다른 객체들의 상태도 연동되도록 일대다 객체 의존 관계를 구성하는 패턴
퍼사드 패턴 (facade : 외부, 겉보기)
복잡한 내부 시스템 로직을 감추고 클라이언트가 쉽게 시스템에 접근할 수 있는 인터페이스 제공
* 인터페이스 : 내부 시스템의 세부 사항을 알 필요 없이 시스템의 기능을 간단하게 사용할 수 있도록 제공하는 단순화된 API나 클래스를 의미함.
컴포지트 패턴 (composite : 복합체)
여러 개의 객체들로 이루어진 복합 객체와 단일객체를 클라이언트에서 구별없이 다루게 해주는 패턴
템플릿 메소드 패턴
알고리즘의 일부 단계를 서브클래스화해서 알고리즘의 부분적 수정 및 재정의 쉽게 함
728x90