정보처리기사 실기 - 디자인패턴 암기
제가 암기하기 위해 정리한거예요.
이렇게 간단하게 단어만 보기보다는 내용을 먼저 이해하신 후에 핵심단어로 암기하시는 것을 추천드려요.
생성패턴
1. 추상팩토리 : 객체집합생성(제품군별 객체생성), 구체적인 클래스에 의존 안함
2. 빌더 : 복잡한 객체의 구성과 표현을 분리, 부분 생성을 통해 전체 객체 생성, 동일한 생성절차에서도 다른 표현결과를 만들 수 있음
3. 팩토리메소드 : 객체 생성을 하위(서브)클래스로 위임하여 캡슐화, 상위클래스가 인터페이스를 정의하고 하위(서브)클래스에서 인스턴스 생성, Virtual-Constructor 패턴이라고도 함
4. 프로토타입 : 기존(원본) 객체를 복사하여 새로운 객체 생성
5. 싱글톤 : 단 하나의 인스턴스만 생성되어야 하는 클래스에 적합
구조패턴
1. 어댑터 : 클래스의 인터페이스를 다른 인터페이스로 변환 제공, 기존 모듈 재사용을 위한 인터페이스 변경
2. 브리지 : 인터페이스와 구현의 명확한 분리(구현부에서 추상층을 분리)
3. 컴포지트 : 부분-전체, 트리구조 구성
4. 데코레이터 : 객체의 기능을 동적으로 추가, 삭제, 다른 객체를 덧붙이는 방식
5. 퍼사드 : 서브시스템의 가장 앞쪽에 위치, 단순화된(통합된) 인터페이스 제공
6. 플라이웨이트 : 작은 객체들의 공유로 효율적 메모리 관리(메모리절약)
7. 프록시 : 대리객체를 통한 작업 수행
행위패턴
1. 책임연쇄 : 수행가능한 객체군까지 요청 전달(전파)
2. 커맨드 : 요청을 객체로 캡슐화 처리, 취소, 재실행
3. 인터프리터 : 간단한 문법에 기반한 표현 정의, 검증
4. 반복자(Iterator) : 동일자료형 객체 순차적 접근, 반복 작업 처리
5. 중재자(Mediator) : 객체간 상호작용 중재
6. 메멘토 : 객체 상태 저장, 복원
7. 옵저버 : 일대다의 객체 의존관계 정의, 상태변경시 의존객체 자동 업데이트
8. 상태(State) : 내부 상태에 따라 동작 변경
9. 전략(Strategy) : 교환 가능한 행동을 캡슐화, 동일목적의 알고리즘 중 선택 적용
10. 템플릿메소드 : 알고리즘 기본 골격 재사용, 서브클래스로 위임하여 상세 구현
11. 방문자(Visitor) : 구조와 연산 분리, 새로운 연산 추가, 변경, 개방폐쇄의 원칙 적용