일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SSAFY 10기 화이팅
- 우유가옆으로넘어지면아야
- DP
- SSAFY IM/A
- 모르고리즘
- I am Korean
- 자고 싶다
- SSAFY 화이팅
- HAVE A GOOD DAY
- 텐션 업 10기 화이팅
- BFS
- Hamming weight
- 자료구조
- have a nice day
- Have a good day :)
- amazon
- 아자아자 화이팅
- 수학
- SSAFY 테스트
- 우유아야
- SeongSeobDang
- Java 환경 설정
- 텐션 업 10기!
- Have a nice day.
- 네트워크
- 우유가 옆으로 넘어지면 아야
- 코로나 싫어요
- DFS
- LeetCode #릿코드 #좋은 하루 되세요 #Have a nice day
- Today
- Total
Hope Everyone Is Happy
0. 디자인 패턴 개요 본문
회사를 다녔을 때, 클래스들을 설계하며 가끔(?) 이해가 안되는 설계의 코드들을 다들 아무렇지 않게 쓰고 있어서 수정하고 싶을 때가 많았는데, 디자인 패턴을 보다보니 그 땐 이렇게 수정했어야 했구나.. 라는 생각이 주마등처럼 지나가네요. 지금 고치러 갈 수도 없고
♣ 디자인 패턴 ?
- 디자인 패턴이란 소프트웨어를 설계할 때 반복적으로 발생하는 일반적인 문제점들을 해결할 수 있는 해결책
(Ex. 인스턴스를 계속 생성하여 메모리 낭비, 효율적인 상속 관계 구성 등.)
- 즉, 객체 간의 상호 관계 등의 솔루션을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것
- 코드로써 직접적으로 디자인 하는 이론이 아니라, 다양한 상황에 대해 문제를 해결할 수 있는 솔루션의 틀 (Template)
- 올바른 디자인 패턴을 사용하면, 시스템의 유지보수나 설계에 있어서 가장 빠르고 정확한 방법을 찾아낼 수 있다.
♣ GOF 디자인 패턴 ?
- Gangs of Four(GOF) Design Patterns is the collection of 23 design patterns from the book “Design Patterns: Elements of Reusable Object-Oriented Software”.
- 디자인 패턴의 교과서라고 불리는 Gof의 디자인패턴은 원서 "Design Patterns: Elements of Reusable Object-Oriented Software"에서 목적에 따라 분류한 총 23개의 패턴으로 구성
- 23개의 패턴은 5개의 생성 패턴 (Creational Pattern), 7개의 구조 패턴(Structural Pattern), 11개의 행동 패턴(Behavioral Pattern) 3가지로 구분.
생성 패턴 (Creational Pattern), | 구조 패턴(Structural Pattern) | 행동 패턴(Behavioral Pattern) |
Singleton (싱글턴 패턴) | Adapter | Template Method |
Factory (팩토리 패턴) | Composite | Mediator |
Abstract Factory | Proxy (프록시 패턴) | Chain of Responsibility |
Builder | FlyWeight | Observer (옵저버 패턴) |
Prototype | Facade | Strategy (전략 패턴) |
Bridge | Command | |
Decorator | State | |
Visitor | ||
InterPreter | ||
Iterator (이터레이터 패턴) | ||
Memento |
▷ 간단하게 요약하면 디자인 패턴은 아래와 같이 사용
1. 소프트웨어 설계에 있어서 예상 되는 문제를 생각
2. 예상 되는 문제가 빠르게 해결되면서 효율적으로 구성될 디자일 패턴을 선택.
3. 프로그램 구현.
참고로 저는 위의 GOF 디자인 패턴 표에서 파란색 표시가 된 부분의 패턴들만 우선적으로 포스팅을 할 생각입니다.
이유는 공부를 위해 구글링도 많이 하고 있지만, 책은 면접을 위한 CS전공지식 노트를 참고하고 있어서 해당 책에서 선정한 디자인 패턴의 종류를 우선적으로 포스팅해보려고 합니다.
책 구매 주소 : https://product.kyobobook.co.kr/detail/S000001834833
위의 내용과 관련하여 추가적인 내용이나 피드백은 언제나 환영입니다!!! :)
'※ CS 스터디 > 디자인 패턴' 카테고리의 다른 글
5. 프록시 패턴 (Proxy pattern) (0) | 2023.08.02 |
---|---|
4. 옵저버 패턴 (Observer Pattern) (0) | 2023.08.02 |
3. 전략 패턴 ( strategy pattern ) (0) | 2023.08.02 |
2. 팩토리 패턴 ( Factory Pattern ) (0) | 2023.08.02 |
1. 싱글톤 패턴 ( Singleton Pattern ) (0) | 2023.08.02 |