Thumbnail
BEST
개발 · 프로그래밍 기타 (개발 · 프로그래밍)

코딩으로 학습하는 GoF의 디자인 패턴 대시보드

(4.8)
151개의 수강평 ∙  3,625명의 수강생
88,000원

월 17,600원

5개월 할부 시
지식공유자: 백기선
총 98개 수업 (11시간 37분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[프로그래밍 언어, 개발 도구] 강의입니다.

디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 수 있습니다.

✍️
이런 걸
배워요!
GoF의 총 23개 디자인 패턴
디자인 패턴 코딩하기
자바와 스프링에 적용된 디자인 패턴

단순 구현을 넘어서
더 좋은 코드를 만들고 싶은 모든 개발자에게

모든 개발자의 필독서
GoF의 디자인 패턴

단순한 구현을 벗어나 더 좋은 코드를 만들고 싶다면 디자인 패턴에 대한 이해가 반드시 필요합니다.
모든 개발자에게 필독서로 추천하는 GoF의 저서 《디자인 패턴》과 23가지의 디자인 패턴.
현직 마이크로소프트 개발자가 현업에서 사용하는 코드로 모든 디자인 패턴을 알려드립니다.


📢 알려드립니다

  • 원활한 강의 수강을 위해서는 프로그래밍 언어객체 지향에 대한 이해가 필요합니다.
  • 자바와 스프링에 적용된 디자인 패턴을 소개 및 제공하고 있지만 특정 언어에 종속되는 내용은 아닙니다. 다른 언어를 사용하는 개발자도 쉽게 이해할 수 있는 내용이며, 이를 돕기 위해 강의에서 제공되는 코드는 간결하고 직관적으로 작성되었습니다.

디자인 패턴 학습
필요한 사람은?

기초 문법은 배웠는데
이제 뭘 해야 하지?

중급 개발자로 성장을
목표로 하고 있는
초급 개발자라면?

더 좋은 개발자가
되고 싶은데

보다 근본적인 개발
방법론을 공부
해보고 싶다면?

개발 전반 메타 지식을
늘릴 수는 없을까?

어떤 지식을 학습하든
보다 빠르고 효율적인
학습을 원하신다면?

디자인 패턴?
배우고는 싶은데

디자인 패턴 공부가
어렵고 실무와
멀게만 느껴진다면?

우리가 디자인 패턴을
배워야 하는 이유

디자인 패턴은 애플리케이션 개발 시에 마주할 다양한 문제와 패턴을 모아놓은 지식의 산물입니다.
실제로 자바 개발자가 많이 사용하는 스프링 프레임워크에도 전략, 프록시, 어댑터 등 여러 다양한 디자인 패턴을 찾아볼 수 있습니다.
이 강의는 여러분께 디자인 패턴이 어렵고 추상적인 이론이 아니라 이미 우리 가까이에 있다는 것을 알게 해줄 것입니다.

프레임워크 학습
어려움을 겪는다면

스프링이나 리액트, NestJS와 같은 프레임워크에는 고도의 기술과 디자인 패턴이 집약되어있습니다.
프레임워크 학습에 어려움을 느꼈다면 디자인 패턴에 대한 이해가 선행되어야 합니다.
디자인 패턴을 알고 있다면 자바나 스프링뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 더 쉽게 학습할 수 있습니다.


코딩으로 학습하는
GoF의 디자인 패턴

이 강의에서는 23개의 모든 디자인 패턴을 세 분류로 나누어 다루고 있습니다.
각 패턴이 해결하려는 문제, 적용하는 방법, 장단점, 실무에서 어떻게 적용되는지를 함께 살펴봅니다.

#1.
객체 생성 관련 패턴

  • 싱글톤 패턴
  • 팩토리 메소드 패턴
  • 추상 팩토리 패턴
  • 빌더 패턴
  • 포로토타입 패턴

#2.
구조 관련 패턴

  • 어댑터 패턴
  • 브릿지 패턴
  • 컴포짓 패턴
  • 데코레이터 패턴
  • 퍼사드 패턴
  • 플라이웨이트 패턴
  • 프록시 패턴

#3.
행동 관련 패턴

  • 책임 연쇄 패턴
  • 커맨드 패턴
  • 인터프리터 패턴
  • 이터레이터 패턴
  • 중재자 패턴
  • 메멘토 패턴
  • 옵저버 패턴
  • 상태 패턴
  • 전략 패턴
  • 템플릿 메소드 패턴
  • 방문자 패턴

현직 MS 개발자가 알려주는
실무에서 쓰는 디자인 패턴

디자인 패턴을 보다 쉽게 이해하기 위해 자바 스프링에 적용된 모든 패턴의 예제를 제공합니다.
예제 코드는 Java로 작성되었으며, 본인에게 익숙한 프로그래밍 언어로 바꿔 실습 할 수 있도록 간결하고 직관적으로 작성했습니다.
지금 당장 실무에서 해당 패턴이 어떻게 사용되고 있는지 뿐만 아니라 그와 관련된 다양한 기술도 학습 할 수 있습니다.

강의가 나와 잘 맞을지
궁금하신가요?

이 강의에서 다루는 23개의 패턴 중 세 가지 패턴(싱글톤 패턴, 프록시 패턴, 이터레이터 패턴)은 미리보기로 공개되어있습니다.
수강 전 강의를 미리 들어보신 후 이런 방식의 강의 진행이 본인에게 도움이 될지 판단해 주시기 바랍니다.


GoF디자인 패턴

디자인 패턴 Design Patterns
아마존 기준 평점 4.7/5
객체 지향 소프트웨어 디자인 분야 1위
모든 개발자에게 권장하는 추천 도서 중 하나

GoF (Gang of Four)
《디자인 패턴》의 저자 4인
에릭 감마(Erich Gamma), 리차드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)

📢 참고해주세요

  • 해당 강의는 GoF의 저서 《디자인 패턴》에 소개된 23개의 디자인 패턴을 설명하고 있습니다. 개발자로서의 성장을 위해 《디자인 패턴》을 읽는 것을 권장하고 있으나, 강의 수강을 위해 책을 구매하실 필요는 없습니다.

예상 질문 Q&A

Q. 디자인 패턴은 이론적인 이야기 아닌가요? 실무에서 실제로 쓰이나요?

A. 우리가 사용하는 프레임워크들은 모두 디자인 패턴을 사용하고 있습니다. 예를 들어, 자바 개발자가 많이 쓰고 있는 스프링은 디자인 패턴의 집약체라고 말할 수 있을 정도로 다방면에 수많은 디자인 패턴이 적용되어 있습니다. 디자인 패턴을 잘 알고 있다면, 실무에 쓰이는 기술을 학습하는 데도 도움이 될 뿐 아니라 해당 패턴을 여러분 코드에 적용하는 것도 가능합니다. 이 강의에서 실제로 자바와 스프링에 적용된 디자인 패턴을 살펴보시기 바랍니다.

Q. 소스 코드는 어디서 다운 받을 수 있나요?

A. “강의 소스 코드”라는 수업에 소스 코드를 압축해서 올려두었습니다. 해당 코드를 여러분이 자주 사용하는 IDE, 이클립스 또는 인텔리J로 읽어 들여서 살펴볼 수 있습니다. 각 패턴마다 패턴 적용 이전과 이후를 패키지로 나눠놨으니, 강의를 수강하시고 나서 새로운 패키지를 만들고 직접 연습해 볼 수 있습니다.

Q. 자바 기초만 공부한 상태인데 이 강의를 수강해도 될까요?

A. 네, 자바 기초를 학습했다면 본 강의를 수강할 수 있습니다. 물론, 강의 중에 자바 기초에서는 다루지 않는 자바 기술이나 스프링 프레임워크 기술도 소개하지만 디자인 패턴을 학습하는 데 있어서 반드시 필요한 선수 지식은 아닙니다. 이 강의를 수강하시면 앞으로 자바나 스프링을 더 깊게 공부하는 데 많은 도움이 될 겁니다.


이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
중급 개발자로 성장하고 싶은 초급 개발자
좋은 설계 및 코드가 무엇인지 학습하고 싶은 개발자 또는 학생
다양한 디자인 패턴과 그 적용 방법을 학습하고 싶은 개발자 또는 학생
디자인 패턴이 멀게만 느끼지던 개발자 또는 학생
📚
선수 지식,
필요할까요?
자바 기초 지식
객체 지향에 대한 기본적인 이해

안녕하세요
백기선 입니다.
백기선의 썸네일

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.

유튜브:
'백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

커리큘럼 총 98 개 ˙ 11시간 37분의 수업
이 강의는 영상, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 강의 소개
섹션 1. 객체 생성 관련 디자인 패턴
싱글톤 패턴 1부 - 싱글톤 패턴을 가장 단순히 구현하는 방법 미리보기 06:01 싱글톤 패턴 2부 - 멀티 쓰레드 환경에서 안전하게 구현하는 방법 미리보기 11:22
싱글톤 패턴 3부 - 싱글톤 패턴 구현 방법을 깨트리는 방법 08:53
싱글톤 패턴 4부 - 안전하고 단순하게 구현하는 방법 09:53
싱글톤 패턴 5부 - 자바와 스프링에서 찾아보는 패턴 미리보기 04:28
팩토리 메소드 패턴 1부 - 패턴 소개 07:19
팩토리 메소드 패턴 2부 - 패턴 적용하기 13:32
팩토리 메소드 패턴 3부 - 인터페이스 적용하기 07:30
팩토리 메소드 패턴 4부 - 장점과 단점 06:00
팩토리 메소드 패턴 5부 - 자바와 스프링에서 찾아보는 패턴 06:48
추상 팩토리 패턴 1부 - 패턴 소개 03:31
추상 팩토리 패턴 2부 - 패턴 적용하기 09:15
추상 팩토리 패턴 3부 - 장점과 단점 04:18
추상 팩토리 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 06:58
빌더 패턴 1부 - 패턴 소개 07:09
빌더 패턴 2부 - 패턴 적용하기 09:50
빌더 패턴 3부 - 장점과 단점 05:59
빌더 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 07:34
프로토타입 패턴 1부 - 패턴 소개 06:28
프로토타입 패턴 2부 - 패턴 적용하기 09:06
프로토타입 패턴 3부 - 장점과 단점 02:26
프로토타입 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 08:56
섹션 2. 구조 관련 디자인 패턴
어댑터 패턴 1부 - 패턴 소개 06:49
어댑터 패턴 2부 - 패턴 적용하기 09:21
어댑터 패턴 3부 - 장점과 단점 03:47
어댑터 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 11:09
브릿지 패턴 1부 - 패턴 소개 06:16
브릿지 패턴 2부 - 패턴 적용하기 10:23
브릿지 패턴 3부 - 장점과 단점 02:26
브릿지 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 09:59
컴포짓 패턴 1부 - 패턴 소개 07:45
컴포짓 패턴 2부 - 패턴 적용하기 09:37
컴포짓 패턴 3부 - 장점과 단점 04:02
컴포짓 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 05:45
데코레이터 패턴 1부 - 패턴 소개 10:16
데코레이터 패턴 2부 - 패턴 적용하기 09:34
데코레이터 패턴 3부 - 장점과 단점 08:29
데코레이터 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 09:47
퍼사드 패턴 1부 - 패턴 소개 05:26
퍼사드 패턴 2부 - 패턴 적용하기 09:33
퍼사드 패턴 3부 - 장점과 단점 04:44
퍼사드 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 05:51
플라이웨이트 패턴 1부 - 패턴 소개 04:06
플라이웨이트 패턴 2부 - 패턴 적용하기 05:58
플라이웨이트 패턴 3부 02:12
플라이웨이트 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 02:42
프록시 패턴 1부 - 패턴 소개 미리보기 06:08 프록시 패턴 2부 - 패턴 적용하기 미리보기 08:44 프록시 패턴 3부 - 장점과 단점 미리보기 04:05 프록시 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 미리보기 11:11
섹션 3. 행동 관련 디자인 패턴
책임 연쇄 패턴 1부 - 패턴 소개 07:47
책임 연쇄 패턴 2부 - 패턴 적용하기 08:21
책임 연쇄 패턴 3부 - 장점과 단점 03:10
책임 연쇄 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 10:33
커맨드 패턴 1부 - 패턴 소개 05:53
커맨드 패턴 2부 - 패턴 적용하기 07:47
커맨드 패턴 3부 - 장점과 단점 07:03
커맨드 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 04:47
인터프리터 패턴 1부 - 패턴 소개 11:34
인터프리터 패턴 2부 - 패턴 적용하기 16:59
인터프리터 패턴 3부 - 장점과 단점 04:01
인터프리터 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 03:13
이터레이터 패턴 1부 - 패턴 소개 미리보기 05:51 이터레이터 패턴 2부 - 패턴 적용하기 미리보기 07:44 이터레이터 패턴 3부 - 장점과 단점 미리보기 04:02 이터레이터 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 미리보기 11:32
중재자 패턴 1부 - 패턴 소개 06:43
중재자 패턴 2부 - 패턴 적용하기 08:14
중재자 패턴 3부 - 장점과 단점 04:47
중재자 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 06:40
메멘토 패턴 1부 - 패턴 소개 06:33
메멘토 패턴 2부 - 패턴 적용하기 06:33
메멘토 패턴 3부 - 장점과 단점 03:00
메멘토 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 09:53
옵저버 패턴 1부 - 패턴 소개 06:47
옵저버 패턴 2부 - 패턴 적용하기 10:31
옵저버 패턴 3부 - 장점과 단점 05:24
옵저버 패턴 4부 - 자바에서 찾아보는 패턴 12:40
옵저버 패턴 5부 - 스프링에서 찾아보는 패턴 06:48
상태 패턴 1부 - 패턴 소개 07:03
상태 패턴 2부 - 패턴 적용하기 18:17
상태 패턴 3부 - 장점과 단점 05:29
전략 패턴 1부 - 패턴 소개 06:05
전략 패턴 2부 - 패턴 적용하기 06:44
전략 패턴 3부 - 장점과 단점 03:12
전략 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 06:03
템플릿 메소드 패턴 1부 - 패턴 소개 06:59
템플릿 메소드 패턴 2부 - 패턴 적용하기 12:08
템플릿 메소드 패턴 3부 - 장점과 단점 04:26
템플릿 메소드 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 07:50
비지터 패턴 1부 - 패턴 소개 11:01
비지터 패턴 2부 - 패턴 적용하기 10:50
비지터 패턴 3부 - 장점과 단점 03:00
비지터 패턴 4부 - 자바와 스프링에서 찾아보는 패턴 07:47
강의 게시일 : 2021년 10월 26일 (마지막 업데이트일 : 2021년 10월 18일)
수강평 총 151개
수강생분들이 직접 작성하신 수강평입니다.
4.8
151개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
장현우 thumbnail
5
초급자에서 중급자로 넘어가기 위한 최대의 관문, 디자인패턴을 이렇게 깔끔하게 정리해주시니 감사합니다! PS 기선님 부담스러운 질문이지만 혹 다른 언어로 재구성해서 블로그에 업로드해도 괜찮을지요?
2021-11-05
지식공유자 백기선
네, 출처를 남겨주신다면 블로그에 얼마든지 공부하신 내용을 정리해서 올려도 좋습니다. 감사합니다.
2021-11-08
Rep thumbnail
5
기본적인 패턴 자체에 관한 개념을 쉽게 전달해주셨고 예시를 통한 문제해결 관점으로 강의를 구성해주셔서 좋았습니다.
2021-11-02
roach thumbnail
5
좋은 강의인게 몇개안들어봐도 느껴지네요 디자인 패턴 묵혀두기만 했었는데 이 기회에 마무리지어야 겠네요
2021-10-28
김록영 thumbnail
5
도움이 많이 됩니다. 좋은 강의 만들어주셔서 진심으로 감사합니다 :)
2024-01-09
void thumbnail
3
디자인패턴과 더불어 자바 문법 등 다른 것도 정확히 알려줘서 나름 유용한 강의입니다. 아쉬운점은 . 각 패턴별로 순차적으로 설명을 하기만하고 비슷한 패턴들을 통합해서 설명하는게 없어 아쉽습니다. 실무에서 이론(디자인패턴) vs 실용성(업무일정,돈이 안됨,...) 사이에서 고민하고 어떻게 헤쳐나갔는지 등을 듣고 싶었는데 이런것이 없어 아쉽습니다. 디자인패턴 설명만 생각했을때 youtube 등에 있는 다른 디자인패턴에 비해 크게 좋은점을 잘 찾지 못하겠습니다.
2023-06-08