Gngs of Four 디자인 패턴 암기법
디자인 패턴이란 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결방법을 말한다.
(객체) 생성 패턴: 추빌팩프싱
구조 패턴: 어브컴데퍼플프(ABCDFFP)
행위 패턴: CISMOTV
객체생성 패턴
추상팩토리: 구체적인 클래스에 의존하지 않음. 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현함.
빌더: 인스턴스를 조합하여 객체를 생성한다.
팩토리 메소드: 상위클래스에서는 인터페이스만 정의하고 객체 생성은 서브클래스가 처리한다. 가상생성자 패턴이라고도 함.
프로토타입: 원본 객체를 복제하는 방법으로 객체를 생성한다.
싱글톤: 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만 여러프로세스가 동시에 참조할 수는 없다.
구조 패턴
어댑터: 인터페이스가 일치하지 않는 클래스들을 다른 클래스가 이용할 수 있도록 변환해준다.
브리지: 구현부에서 추상층을 분리하여 서로 독립적으로 확장할 수 있도록 구성한다.
컴포지트: 여러 객체를 가진 복합 객체와 단일 객체를 구분없이 다루고자 할 때 사용한다.
데코레이터: 객체 간의 결합을 통해 기능을 확장할 수 있다.
퍼싸드: 상위에 인터페이스를 구성하여 복잡한 서브 클래스들의 기능을 편리하게 사용할 수 있다.
플라이웨이트: 인스턴스가 필요한 경우 공유해서 사용하여 메모리를 절약한다.
프록시: 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스 역할을 수행한다.
행위 패턴
C
책임 연쇄: 한 객체가 처리하지 못하는 요청을 다음 객체가 처리하는 형태로 요청이 해결 될 때
까지 고리를 따라 책임이 넘어간다.
커맨드: 요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 한다.
I
인터프리터: 언어에 문법 표현을 정리한다.
반복자: 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 한다.
S
상태: 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사용한다.
전략: 동일한 계열의 알고리즘을 개별적으로 캡슐화하여 상호 교환할 수 있도록 한다.
M
중재자: 수많은 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의한다.
메멘토: 특정 시점에서의 객체 내부 상태를 객체화 하여 이후 요청에 따라 객체를 해당 시점의 상태로 되돌릴 수 있다.
O
옵서버: 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달한다.
T
템플릿 메소드: 골격 정의는 상위 클래스에서 하고 세부처리 구체화는 하위 클래스에서 한다.
V
방문자: 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성한다.
'정보처리기사 필기' 카테고리의 다른 글
자료구조 중 선형 구조의 종류 암기법 (0) | 2025.02.01 |
---|---|
테스트케이스 생성도구 암기법 (0) | 2025.02.01 |
객체지향 설계 원칙 (0) | 2025.02.01 |
객체지향 분석 방법론 5가지 (0) | 2025.02.01 |
스크럼(Scrum) 기법 (0) | 2025.01.31 |
댓글