Inflearn brand logo image
Inflearn brand logo image
채널톡 아이콘

25 Object-Oriented Design Patterns by Yalco (Global ver.)

You will learn various ways to design software in an object-oriented manner through the 25 patterns of OODP.

8명 이 수강하고 있어요.

Thumbnail

초급자를 위해 준비한
[디자인 패턴] 강의입니다.

이런 걸 배울 수 있어요

  • Key principles of object-oriented programming

  • 25 object-oriented design patterns

  • Advanced skills utilizing object-oriented languages

  • Flexible and highly reusable software design

🛑 This course is an English-based lecture targeted at non-Korean speakers.

이 강의는 외국인을 대상으로 하는 영문판 기반의 강의입니다.
순수 한국어 강의는 https://inf.run/YAEr4 이 링크에서 수강하실 수 있습니다.

Learning design patterns is like learning techniques in Jiu-Jitsu.

You've probably seen self-defense or Jiu-Jitsu technique demonstration videos on YouTube.

By carefully observing Jiu-Jitsu content, you can learn how to subdue an opponent or defend yourself by leveraging various aspects of the human body, like joints, the principle of leverage, and the center of gravity. Watching these techniques, which utilize the structure and mechanics of the body, you might think, "I've used my body all my life, but I never realized it could do this."

While not as intricate as the human body, object-oriented programming languages provide complex features beyond simply using classes and objects. Concepts like inheritance, polymorphism, and encapsulation are often challenging to apply effectively in practice. As a result, many people end up using object-oriented languages, like Java, in a procedural manner, simply because they don’t know how to make full use of these features.

By learning object-oriented design patterns, you’ll discover how to utilize the complex features of object-oriented languages effectively in real-world scenarios. Design patterns offer ways to solve complex problems more easily and make coding and maintenance much simpler. Just as learning techniques in Jiu-Jitsu enables you to use them as needed, learning design patterns helps you apply object-oriented features more effectively in practical situations.

Who Should Take This Course?

1. Those Who Want to Use Object-Oriented Languages Effectively

Many people learn concepts like classes, abstraction, inheritance, and interfaces, yet are unsure how these can be applied in real-world situations. Through over 50 examples, this course will show you how to write elegant and diverse code using object-oriented features, helping you grasp their practical applications.


2. Those Who Want to Write 'Better' Code in Practice

If you're aiming to write code that’s not only functional but also easy for others to understand and modify, this course is for you. Learning design patterns will make your code cleaner and easier to maintain or extend, saving time in the long run. It will help you work more efficiently in a professional environment.

After Completing This Course, You Will Be Able To:

  • Understand the fundamental concepts and design principles of object-oriented programming and apply them in real-world scenarios.

  • Learn various design patterns and gain specific methods for applying them in practical situations.

  • Develop the skills to write maintainable and reusable code structures.

  • Master systematic and efficient approaches to solving complex software challenges.

  • Maintain code consistency, leading to smoother collaboration with team members and faster development speed.

What Makes Yalco’s Course Different?

Easy-to-Understand Explanations Using Analogies and Visuals
Yalco, the master of making any tough concept simple! With years of experience, Yalco ensures you understand each pattern instantly. Without complex explanations or class diagrams, this course uses intuitive graphics and perfect examples to help you learn patterns effortlessly.

Concise and Visually Engaging Videos
The videos are streamlined to move quickly without unnecessary steps like prolonged code typing. Subtitles and code highlighting are applied in every video, offering a highly readable learning experience. In just three hours, you'll cover object-oriented concepts and all 25 design patterns in this compact, efficient course.

What You'll Learn

Object-Oriented Design Principles

We’ll start by exploring what object-oriented programming (OOP) is and why it was created, followed by a brief, simple overview of its core components. Through the foundational SOLID principles, you’ll learn what it takes to design robust yet flexible software—laying the groundwork for understanding design patterns.

25 Design Patterns

Dive into the 25 most widely-used design patterns, each explained with two Java examples. You'll learn 5 creational patterns, 7 structural patterns, and 13 behavioral patterns, equipping you with practical solutions for tackling various design challenges you’ll encounter in real-world applications.

Patterns You'll Learn

  • Facade

  • Strategy

  • Template Method

  • Singleton

  • State

  • Adaptor

  • Bridge

  • Factory Method

  • Proxy

  • Observer

  • Flyweight

  • Abstract Factory

  • Mediator

  • Visitor

  • Builder

  • Decorator

  • Command

  • Memento

  • Prototype

  • Chain of Responsibility

  • Composite

  • Interpreter

  • Publisher-Subscriber

  • Interpreter

  • Specification

Frequently Asked Questions

Q. What programming language knowledge is required for this course?

The examples in this course are written in Java. Anyone with a basic understanding of Java or similar languages like C# or Kotlin should be able to follow along without difficulty. For those who are familiar with other types of languages, the examples are kept simple without relying on Java’s advanced features to make the course accessible.

Q. How in-depth is the content covered?

This course is designed to help you understand 25 design patterns quickly and easily. The focus is on intuitively explaining the principles and demonstrating how each pattern is implemented through two examples.

For those looking for a more theoretical approach or advanced practical applications in real-world projects, this course may feel less comprehensive. Please watch the five free pattern videos available before enrolling to ensure it matches your learning goals.

Pre-Course Information

Practice Environment

This course is designed to be completed without hands-on practice. However, if you'd like to practice along, you can use any environment where Java is supported.


Learning Materials

💾 Example codes will be available for review and download, allowing you to follow along with the examples shown in the course.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • Those interested in object-oriented design

  • Beginner developers aspiring to grow into advanced developers

선수 지식,
필요할까요?

  • Basic knowledge of Java (recommended) or other object-oriented languages

안녕하세요
얄팍한 코딩사전입니다.

26,041

수강생

1,100

수강평

77

답변

4.9

강의 평점

12

강의

유튜브 채널 얄팍한 코딩사전을 방송하는 유튜버이자, IT서적들을 집필하는 작가입니다.  풀스택 개발자로 일해 온 경험을 살려, 어려운 프로그래밍 개념들을 초보자들이 이해하기 쉽도록 비유와 쉬운 예제, 때로는 애니메이션으로 설명하는 컨텐츠들을 만들고 있습니다.

🎬   YouTube 얄팍한 코딩사전 채널 (클릭!)
📕  얄코의 책들 보러가기 (클릭!)

더보기

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!