기록

JAVA 언어로 배우는 디자인 패턴 입문

동백05 2023. 4. 26. 14:58

제목: JAVA 언어로 배우는 디자인 패턴 입문

기간: 2023년 4월 6일 ~ 2023년 4월 19일


전공 과제를 위한 책을 빌리러 도서관에 갔다가 기술 관련 서적을 읽고 싶어서 찾던 도중에 손에 잡힌 책이다. 정처기 준비하면서 디자인 패턴에 대해 알게되었지만 단순 암기에 그쳤기에 책을 통해 더 알아가고 싶어졌다.

 

총 23가지의 디자인 패턴에 대한 설명이 적혀있었다.

 

더보기

디자인 패턴이란?

소프트웨어 설계시에 반복해서 발생하는 문제에 대한 해법

 

디자인 패턴의 분류

1.생성

- Abstract Factory, Builder, Factory Method, Prototype, Singleton

2. 구조

- Adapter, Bridge, Composite, Decorator, Facade, Flyweght, Proxy

3. 행위

- Chain of Reponsibility,Command, Interpreter, Interator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor

 

  • Iterator - 순서대로 지정해서 처리하기
  • Adapter - 바꿔서 재이용하기
  • Template Method - 하위 클래스에서 구체적으로 처리하기
  • Factory Method - 하위 클래스에서 인스턴스 만들기
  • Singleton - 인스턴스를 한 개만 만들기
  • Prototype - 복사해서 인스턴스 만들기
  • Builder - 복잡한 인스턴스 조립하기
  • Abstarct Factory - 관련 부품을 조합해서 제품 만들기
  • Bridge - 기능 계층과 구현 계층 분리하기
  • Strategy - 알고리즘을 모두 바꾸기
  • Facade - 단순한 창구
  • Composite - 그릇과 내용물을 동일시하기
  • Decorator - 장식과 내용물을 동일시하기
  • Visitor - 데이터 구조를 돌아다니면서 처리하기
  • Chain of Responsibility - 책임 떠넘기기
  • Mediator - 중개인을 통해서 처리하기
  • Observer - 상태의 변화를 알려주기
  • Memento - 상태를 저장하기
  • State - 상태를 클래스로 표현하기
  • Flyweight - 동일한 것을 공유해서 낭비 없애기
  • Proxy - 필요해지면 만들기
  • Command - 명령을 클래스로 하기
  • Interpreter - 명령규칙을 클래스로 표현하기

 

다만 아쉬운 점은 오타가 꽤 있었다. 이미 누군가가 오타 첨삭을 해둔 흔적이 있었는데 그거 외에도 내가 읽으면서 몇 개 발견했다. 

이 책을 읽고 이번 정처기 실기 1문제를 맞혔다. 지난 시험까지는 디자인패턴을 제대로 이해하지 못해서 글을 읽고 때려 맞추는 수준이었는데 그래도 지문을 읽고 답을 맞출 수 있었다.