본문 바로가기

청년취업아카데미/DayLog

[ Java ] Day 02 - ① Design Pattern

# Design Pattern

  • 숙련된 개발자들이 거친 시행착오를 해결해 놓은 Solution 모음집
  • 가장 유명한 패턴 : Gof (Gang of four)
    1. 생성 - Singleton, Prototype, Builder
    2. 구현 - Adaptor, Bridge, Composite, Decorator
    3. 행위 - Strategic, Template, State

 

# 1. Strategy Pattern

strategic uml

  • 샷건(Shot Gun) 현상 해결 - 하나의 부분이 다른 곳에 연쇄적으로 영향을 미치는 것
  • 객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화 하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고 전략을 바꿔주기만 함으로써 행위를 유연하게 확장하는 방법.

 

# 2. Singleton Pattern

  • Singleton Pattern을 사용하는 이유: 객체 생성을 한번만 할 수 있도록 하여, 메모리를 효율적으로 사용하기 위함.
  • 객체 생성을 한번만 하도록 하게한다.
    • How? 생성자를 private로 선언
    • getInstance method를 선언하여 객체를 반환하도록 함.