본문 바로가기
정보처리기사

정보처리기사 필기(소프트웨어 설계)디자인 패턴

by 열정적인 이찬형 2021. 12. 4.

※본 내용은 스스로 공부하며 중요하다고 생각하는 부분만 정리한 내용입니다. 


공부 서적(시나공 정보처리기사 필기책)

2022 시나공 정보처리기사 필기
〈2022 시나공 정보처리기사 필기〉는 출제기준에 포함된 125개의 학습 모듈을 완전 분해하여 정보처리기사 수준에 맞게 205개 섹션으로 엄선하여 정리하였습니다. 비전공자들이 쉽게 학습 방향을 잡을 수 있도록 NCS 학습 모듈을 가이드 삼아 자세한 설명과 충분한 예제를 더했고, 책에 수록된 내용은 어떠한 변형 문제가 나오더라도 대처할 수 있도록 최대한 자세하고 쉽게 설명했습니다.〈기억상자&기출 CBT〉 ‘기억상자’ 암기 프로그램으로 반복 학습을 통해 틀린 문제는 틀리지 않을 때까지, 맞혔던 문제는 안전하게 머릿속에 담아 시험장에 가지고 갈 수 있도록 해주고, 실제 시험장과 똑같은 기출문제 CBT로 마무리 학습 및 시험 전 현장 감각을 키울 수 있습니다(WWW.MEMBOX.CO.KR).
book.naver.com
출처: 시나공 정보처리기사 필기

저자: 김정준,강윤석,김용갑,김우경

출판사 : 길벗


디자인 패턴


정의 :인터페이스 설계할 때 참조할 수 있는 예제

다른 패턴으로 변화, 생성패턴 5개, 구조 패턴 7개, 행위 패턴 11개

장단점

  • 구조파악 용이, 생산성 높임, 재사용 가능, 의사소통 원할, 유연한 대처
  • 초기 투자 부담, 객체지향이 아닌 개발은 적합하지 않다.

생성 패턴

  • 캡슐화를 통해 유연설을 더해준다.
  • 추상 팩토리 : 그룹 생성하여 추상적 표현, 한번에 교체 가능
  • 빌더 : 조합하여 객체 생성
  • 팩토리 메소드 : 서브 클래스 분리하여 객체 생성, 실제 생성은 서브클래스가, 가상 생성자 패턴
  • 프로토 타입 : 원본 객체 복사하여 객체 생성, 비용 큰 경우 사용
  • 싱글톤 : 생성된 객체 어디서든 참조 가능, 동시에 여러 프로세스가 참조는 불가능

구조 패턴

  • 더 큰 구조를 만들게 해주는 패턴, 복잡한 시스템 개발 쉽게 도와준다.
  • 어댑터 : 호환성 없는 인터페이스들 변환하여 쓸수 있게 해주는 패턴
  • 브리지 : 서로 독립적으로 확장할 수 있도록 해주는 패턴
  • 컴포지트 : 복합 및 단일 객체 구분없이 사용할수 있도록 해주는 패턴
  • 데코레이터 : 결합을 통해 능동적 기능을 확장하게 해주는 패턴
  • 퍼싸드 : 복잡한 서브클래스 피해 상위 인터페이스 구성하는 패턴
  • 프록시 : 접근 어려운 객체 사이를 연결해주는 패턴

행위 패턴

  • 상호작용, 책임분배 정의, 할 수록 결합도 최소화
  • 책임 연쇄 : 한 객체가 처리하지 못하면 다음객체로 넘어가고 책임도 넘어감
  • 커맨드 : 요청에 정보를 저장하거나 로그 남기는 패턴
  • 인터프리터 : 문법 표현을 정의하는 패턴
  • 반복자 : 내부 표현 노출 없이 순차적 접근
  • 중재자 : 상호작용 캡슐화, 통제와 지시의 역활 수행
  • 메멘토 : 시점을 돌릴 수 있는 기능 제공
  • 옵서버 : 다른 객체들에게 변화된 상태를 전달
  • 상태 : 동일한 동작을 다르게 처리해야할 때 사용
  • 전략 : 개별적 캡슐화하여 상호작용
  • 템블릿 메소드 : 골격 정의하고 하위 클래스 세부 처리 및 구체화
  • 방문자 : 각 클래스 방문하여 수행

댓글