강의

멘토링

로드맵

BEST
Programming

/

etc. (Programming)

GoF's Design Patterns Learned Through Coding

Knowing design patterns will make it easier to learn not only Spring but also many other technologies and programming languages. It will also help you develop more flexible and reusable object-oriented software.

(4.8) 201 reviews

4,090 learners

  • whiteship
실리콘밸리
실무 비책
Design Pattern
Java

Reviews from Early Learners

What you will learn!

  • A total of 23 design patterns in GoF

  • Coding design patterns

  • Design patterns applied to Java and Spring

Beyond simple implementation
For all developers who want to create better code

A must-read for every developer
GoF's design patterns

If you want to go beyond simple implementations and create better code, understanding design patterns is essential.
GoF's book "Design Patterns" and its 23 design patterns are recommended as must-reads for all developers.
We teach you all the design patterns using code used in the field by current Microsoft developers .


📢 Please be informed

  • To successfully complete the course, you need to have an understanding of programming languages and object orientation .
  • While this course introduces and provides design patterns applied to Java and Spring , it's not language-specific . Developers in other languages can easily understand the content, and the code provided in the course is written concisely and intuitively to facilitate this.

Learning design patterns
Who needs it?

I learned basic grammar
What should I do now?

Grow into an intermediate developer
Aiming for
What if you are a beginner developer?

A better developer
I want to be

More fundamental development
Study the methodology
Want to try it?

Meta knowledge of overall development
Can't it be increased?

Whatever knowledge you learn
Faster and more efficient
If you want to learn?

Design pattern?
I want to learn, but

Studying design patterns
Difficult and practical
What if it feels far away?

We design patterns
Why you should learn

Design patterns are a collection of knowledge that covers various problems and patterns encountered during application development.
In fact, you can find many different design patterns, such as strategies, proxies, and adapters, in the Spring Framework, which is widely used by Java developers.
This lecture will show you that design patterns are not difficult, abstract theories, but are already within our reach.

In learning the framework
If you are having difficulties

Frameworks like Spring, React, and NestJS are packed with advanced technologies and design patterns.
If you find it difficult to learn the framework, you should first understand design patterns.
Knowing design patterns makes learning Java, Spring, and many other technologies and programming languages easier.


Learning through coding
GoF's design patterns

This lecture covers all 23 design patterns, divided into three categories.
We'll explore the problems each pattern aims to solve, how to apply it, its pros and cons, and how it's applied in practice.

#1.
Patterns related to object creation

  • Singleton pattern
  • Factory Method Pattern
  • Abstract Factory Pattern
  • Builder pattern
  • Prototype pattern

#2.
Structural related patterns

  • Adapter pattern
  • Bridge pattern
  • Composite pattern
  • Decorator pattern
  • Facade pattern
  • Flyweight pattern
  • Proxy pattern

#3.
Behavioral patterns

  • Chain of Responsibility Pattern
  • Command pattern
  • Interpreter pattern
  • Iterator pattern
  • Mediator pattern
  • Memento pattern
  • Observer pattern
  • State pattern
  • Strategy Patterns
  • Template Method Pattern
  • Visitor patterns

What a current MS developer tells you
Design patterns used in practice

To make it easier to understand design patterns, we provide examples of all patterns applied to Java Spring.
The example code is written in Java, but is written concisely and intuitively so that you can practice in a programming language you are familiar with.
You can learn not only how the pattern is being used in practice right now, but also various related technologies.

Will the lecture suit me well?
Are you curious?

Of the 23 patterns covered in this lecture, three patterns (Singleton Pattern, Proxy Pattern, and Iterator Pattern) are available as previews.
Please listen to the lecture in advance before taking the course and decide whether this style of lecture will be helpful to you.


GoF design patterns

Design Patterns
Amazon rating: 4.7/5
#1 in object-oriented software design
One of the recommended books for all developers

GoF (Gang of Four)
The four authors of "Design Patterns"
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

📢 Please note

  • This course covers 23 design patterns introduced in the GoF 's book "Design Patterns ." While we recommend reading "Design Patterns" to further your development as a developer, you don't need to purchase the book to take this course.

Expected Questions Q&A

Q. Aren't design patterns just theoretical? Are they actually used in practice?

A. All the frameworks we use utilize design patterns. For example, Spring, widely used by Java developers, can be said to be a culmination of design patterns, with numerous design patterns applied across various fields. Being familiar with design patterns not only helps you learn practical techniques, but also allows you to apply these patterns to your own code. In this lecture, we'll explore design patterns actually applied in Java and Spring.

Q. Where can I download the source code?

A. I've compressed and uploaded the source code for the course, "Lecture Source Code." You can open and review the code using your favorite IDE, Eclipse or IntelliJ. Each pattern is divided into packages with before and after patterns applied, so after taking the course, you can create a new package and practice using it yourself.

Q. I have only studied the basics of Java. Can I still take this course?

A. Yes, if you've studied Java fundamentals, you can take this course. While the course will introduce Java technologies and the Spring Framework that aren't covered in Java Fundamentals, they aren't prerequisite knowledge for learning design patterns. Taking this course will be a great help in your future, deeper study of Java and Spring.


Recommended for
these people

Who is this course right for?

  • Beginner developer who wants to grow into an intermediate developer

  • Developers or students who want to learn what good design and code is.

  • Developers or students who want to learn various design patterns and how to apply them.

  • Developers or students who feel that design patterns are far away

Need to know before starting?

  • Java basic knowledge

  • Basic understanding of object orientation

Hello
This is

92,400

Learners

4,233

Reviews

2,010

Answers

4.8

Rating

20

Courses

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

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

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

Curriculum

All

98 lectures ∙ (11hr 37min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

201 reviews

4.8

201 reviews

  • void님의 프로필 이미지
    void

    Reviews 36

    Average Rating 4.9

    3

    100% enrolled

    디자인패턴과 더불어 자바 문법 등 다른 것도 정확히 알려줘서 나름 유용한 강의입니다. 아쉬운점은 . 각 패턴별로 순차적으로 설명을 하기만하고 비슷한 패턴들을 통합해서 설명하는게 없어 아쉽습니다. 실무에서 이론(디자인패턴) vs 실용성(업무일정,돈이 안됨,...) 사이에서 고민하고 어떻게 헤쳐나갔는지 등을 듣고 싶었는데 이런것이 없어 아쉽습니다. 디자인패턴 설명만 생각했을때 youtube 등에 있는 다른 디자인패턴에 비해 크게 좋은점을 잘 찾지 못하겠습니다.

    • 장현우님의 프로필 이미지
      장현우

      Reviews 11

      Average Rating 5.0

      5

      100% enrolled

      초급자에서 중급자로 넘어가기 위한 최대의 관문, 디자인패턴을 이렇게 깔끔하게 정리해주시니 감사합니다! PS 기선님 부담스러운 질문이지만 혹 다른 언어로 재구성해서 블로그에 업로드해도 괜찮을지요?

      • 백기선
        Instructor

        네, 출처를 남겨주신다면 블로그에 얼마든지 공부하신 내용을 정리해서 올려도 좋습니다. 감사합니다.

    • roach님의 프로필 이미지
      roach

      Reviews 7

      Average Rating 4.4

      5

      24% enrolled

      좋은 강의인게 몇개안들어봐도 느껴지네요 디자인 패턴 묵혀두기만 했었는데 이 기회에 마무리지어야 겠네요

      • Rep님의 프로필 이미지
        Rep

        Reviews 3

        Average Rating 5.0

        5

        100% enrolled

        기본적인 패턴 자체에 관한 개념을 쉽게 전달해주셨고 예시를 통한 문제해결 관점으로 강의를 구성해주셔서 좋았습니다.

        • 김록영님의 프로필 이미지
          김록영

          Reviews 8

          Average Rating 5.0

          5

          31% enrolled

          도움이 많이 됩니다. 좋은 강의 만들어주셔서 진심으로 감사합니다 :)

          $68.20

          whiteship's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!