본문 바로가기

CS지식/Spring

[CS 지식 - Spring] 디자인 패턴

1. 디자인 패턴

  • 소프트웨어 디자인 패턴
    → 디자인패턴은 소프트웨어 설계에서 일반적으로 발생하는 문제/ 난관을 해결하기 위한 일반적인 반복 가능한 솔루션
  • 디자인 패턴의 장점
    1. 개발자 간의 원활한 의사소통
    2. 소프트웨어 구조 파악 용이
    3. 재사용을 통한 개발 시간 단축
    4. 설계 변경 요청에 대한 유연한 대처
    5. 불필요한 리소스 낭비 방지
  • 디자인 패턴의 단점
    1. 객체 지향 설계 / 구현 위주로 사용
    2. 초기 투자 비용 부담

2.  GoF의 디자인 패턴 종류

2-1. 생성패턴

  • 객체 생성에 관련된 디자인 패턴
    → 특정 상황에서 객체를 생성하는 데 있어서 보다 나은 유연성 제공
  • 생성패턴에 해당하는 기법은 추상 팩토리 패턴, 빌더 패턴, 메서드 패턴, 프로토타입 패턴, 싱글톤 패턴

2-2. 구조패턴

  • 클래스와 객체를 조합해 구조를 확장시킬 수 있게 하는 패턴
  • 구조패턴에 해당하는 기법은 어댑터 패턴, 브리지 패턴, 데코레이터 패턴, 파사트 패턴, 플라이웨이트 패턴, 프록시 패턴

2-3. 행위패턴

  • 클래스나 객체간의 상호작용에 대한 패턴
  • 행위 패턴에 해당하는 기법은 책임연쇄 패턴, 커맨트 패턴, 해석자 패턴, 반복자 패턴, 옵저버 패턴, 전략 패턴, 템플릿 메서드 패턴, 방문자 패턴, 중재자 패턴, 상태 패턴, 기념품 패턴
더보기

 

'CS지식 > Spring' 카테고리의 다른 글

[Spring] JWT  (0) 2023.05.16
[cs지식 - Spring] cron 개념  (0) 2023.03.07
[cs지식 - Spring] aws 배포하기  (0) 2023.03.06
[CS지식 - Spring] JPA란?  (0) 2023.02.07
[CS지식 - Spring] DTO와 VO차이  (0) 2023.02.07