알아두면 좋은 디자인 패턴(Design Pattern)

이경영·2022년 10월 11일
0

스프링부트2

목록 보기
2/19

출처 : https://youtu.be/Mq4MwPXWarI

디자인 패턴이란?

  • 특정 문맥에서 공통적으로 발생하는 문제에 대해 쓰이는 재사용 가능한 해결책
  • 목적별로 일정한 패턴이 제시되어 있음
  • 완전한 정답이 되는 알고리즘과 달리 현재 상황에 맞춰 최적화된 패턴을 결정하여 사용하는 것이 좋음
  • 대표적으로 구체화된 디자인패던은 GoF에서 제시한 총 23개의 패턴이 있음.

장점

  • 개발자간의 원활한 협업이 가능
  • 소프트웨어의 구조를 파악하기에 용이함
  • 재사용을 통해 개발 시간 단축
  • 설계 변경이 있을 경우 비교적 원활하게 조치가 가능

단점

  • 객체지향적 설계를 고려하여 진행해야함
  • 초기 투자 비용이 많이 들어감(돈 뿐만 아니라 시간 포함)

GoF의 디자인 패턴

  • 목적에 따른 분류
    • 생성패턴, 구조패턴, 행동패턴 총 3가지로 분류됨
    • 각 패턴이 어떤 작업을 위해 생성되는 것인지에 따른 분류

생성 패턴

  • 객체의 생성과 관련딘 패턴
  • 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 최소화할 수 있도록 유연성 제공
  • 싱글톤이라는 디자인패턴을 알아야하기 때문에
    -> 이것은 공학과 관련된 부분이기 때문에 스프링 부트의 싱글톤과는 상이한 부분이 있다.

구조 패턴

  • 프로그램 내 자료구조나 인터페이스 구조 등 프로그램 구조를 설계하는데 사용되는 패턴
  • 클래스나 객체를 조합하여 더 큰 구조를 만들 수 있게 해줌

행동 패턴

  • 행동패턴은 반복적으로 사용되는 객체들의 커뮤니케이션을 패턴화
  • 객체 사이에 알고리즘 또는 책임을 분배하는 방법에 대해 정의됨
  • 결합도를 최소화 하는것이 주 목적
profile
꾸준히

0개의 댓글