1. 디자인 패턴
- 소프트웨어 디자인 패턴
→ 디자인패턴은 소프트웨어 설계에서 일반적으로 발생하는 문제/ 난관을 해결하기 위한 일반적인 반복 가능한 솔루션 - 디자인 패턴의 장점
1. 개발자 간의 원활한 의사소통
2. 소프트웨어 구조 파악 용이
3. 재사용을 통한 개발 시간 단축
4. 설계 변경 요청에 대한 유연한 대처
5. 불필요한 리소스 낭비 방지 - 디자인 패턴의 단점
1. 객체 지향 설계 / 구현 위주로 사용
2. 초기 투자 비용 부담
2. GoF의 디자인 패턴 종류
2-1. 생성패턴
- 객체 생성에 관련된 디자인 패턴
→ 특정 상황에서 객체를 생성하는 데 있어서 보다 나은 유연성 제공 - 생성패턴에 해당하는 기법은 추상 팩토리 패턴, 빌더 패턴, 메서드 패턴, 프로토타입 패턴, 싱글톤 패턴
2-2. 구조패턴
- 클래스와 객체를 조합해 구조를 확장시킬 수 있게 하는 패턴
- 구조패턴에 해당하는 기법은 어댑터 패턴, 브리지 패턴, 데코레이터 패턴, 파사트 패턴, 플라이웨이트 패턴, 프록시 패턴
2-3. 행위패턴
- 클래스나 객체간의 상호작용에 대한 패턴
- 행위 패턴에 해당하는 기법은 책임연쇄 패턴, 커맨트 패턴, 해석자 패턴, 반복자 패턴, 옵저버 패턴, 전략 패턴, 템플릿 메서드 패턴, 방문자 패턴, 중재자 패턴, 상태 패턴, 기념품 패턴
더보기
참고)
https://rhea31.gitbook.io/blog/development/more/undefined/whatisit
디자인 패턴이란? - blog
이는 머나먼 옛날. Erich Gamma, Ralpha Johnson, John Vlissides, Richard Helm 총 4명의 개발자(GoF라고 불리우며, the Gang of Four 의 축약이다)들이 짬에서 나온 노하우들을 개발 방식으로 축척, 압축하고 구체화하
rhea31.gitbook.io
디자인 패턴 - 디자인 패턴이란?
제가 다니는 회사에서는 격주마다 개발 공부를 하는 동아리가 있는데, 얼마 전부터 디자인 패턴 공부를 시작하기로 했습니다. 헤드 퍼스트 디자인 패턴에 있는 챕터를 돌아가면서 발표하는 방
velog.io
'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 |