From 0 to 1: Design Patterns - 24 That Matter - In Java

Explore an engaging course on 24 essential Design Patterns with real-world Java examples, taught by ex-Google and Stanford instructors. Perfect for aspiring developers.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course is a fun and practical adventure through 24 important Design Patterns used in programming. With tons of real-world Java examples and a quirky teaching style, you'll learn when and how to use these patterns effectively, all while thinking deeply about the core ideas behind them.

Key Points

  • Focus on 24 essential Design Patterns
  • Over 50 real-world Java examples
  • Quirky and engaging teaching style
  • Deep exploration of programming principles
  • Active learning with quizzes and discussions

Learning Outcomes

  • Recognize when to use specific Design Patterns
  • Understand the principles behind each of the 24 patterns
  • Apply learned concepts in real-life coding scenarios
  • Engage with interactive quizzes to reinforce learning
  • Develop a broader view of programming concepts and idioms

About This Course

An intensely practical, deeply thoughtful and quirky look at 24 Design Patterns. Instructors are ex-Google, Stanford.

  • Prerequisites: Basic understanding of Java

  • Taught by a Stanford-educated, ex-Googler, husband-wife team

  • More than 50 real-world examples

This is an intensely practical, deeply thoughtful, and quirky take on 24 Design Patterns that matter.

Let’s parse that.

  • The course is intensely practical, bursting with examples - the more important patterns have 3-6 examples each. More than 50 real-world Java examples in total.

  • The course is deeply thoughtful, and it will coax and cajole you into thinking about the irreducible core of an idea - in the context of other patterns, overall programming idioms and evolution in usage.

  • The course is also quirky. The examples are irreverent. Lots of little touches: repetition, zooming out so we remember the big picture, active learning with plenty of quizzes. There’s also a peppy soundtrack, and art - all shown by studies to improve cognition and recall.

  • Lastly, the patterns matter because each of these 24 is a canonical solution to recurring problems.


What's Covered:

  • Decorator, Factory, Abstract Factory, Strategy, Singleton, Adapter, Facade, Template, Iterator, MVC, Observer, Command, Composite, Builder, Chain of Responsibility, Memento, Visitor, State, Flyweight, Bridge, Mediator, Prototype, Proxy, Double-Checked Locking and Dependency Injection.

  • The only GoF pattern not covered is the Interpreter pattern, which we felt was too specialized and too far from today’s programming idiom; instead we include an increasingly important non-GoF pattern, Dependency Injection.

  • Examples: Java Filestreams, Reflection, XML specification of UIs, Database handlers, Comparators, Document Auto-summarization, Python Iterator classes, Tables and Charts, Threading, Media players, Lambda functions, Menus, Undo/Redo functionality, Animations, SQL Query Builders, Exception handling, Activity Logging, Immutability of Strings, Remote Method Invocation, Serializable and Cloneable, networking.

  • Dependency Inversion, Demeter’s Law, the Open-Closed Principle, loose and tight coupling, the differences between frameworks, libraries and design patterns.

  • Identify situations that call for the use of a Design Pattern

  • Understand each of 24 Design Patterns - when, how, why and why not to use them

  • Distill the principles that lie behind the Design Patterns, and apply these in coding and in life, whether or not a Design Pattern is needed

Course Curriculum

Instructor

Profile photo of Loony Corn
Loony Corn

Loonycorn is us, Janani Ravi and Vitthal Srinivasan. Between us, we have studied at Stanford, been admitted to IIM Ahmedabad and have spent years  working in tech, in the Bay Area, New York, Singapore and Bangalore. Janani: 7 years at Google (New York, Singapore); Studied at Stanford; also worked at Flipkart and Microsoft Vitthal: Also Google (Singapore) and studied at...

Review
4.9 course rating
4K ratings
ui-avatar of Janardhan Nallapati
Janardhan N.
5.0
3 years ago

Great course and very detailed explanations, the authors have put in lot of effort in creating this course. only annoying thing is the background music :-(

  • Helpful
  • Not helpful
ui-avatar of Sreekanth Payyavula
Sreekanth P.
5.0
3 years ago

Loved taking the course. I have struggled with design patterns before but I find the explanation very easy to understand.

  • Helpful
  • Not helpful
ui-avatar of Ronnie Horo
Ronnie H.
4.5
3 years ago

The approach to explanations in the purview of other design patterns which is more than often missed was my favorite part of the course.

  • Helpful
  • Not helpful
ui-avatar of Christopher Stoneking
Christopher S.
4.5
4 years ago

There was a lot of great info here on each design pattern - what it is, why you would want to use it, and what for.
I only took half a star off because the quizzes mainly repeat the same questions at the end of each lecture, which is not a very good way to do things, in my opinion.

  • Helpful
  • Not helpful
ui-avatar of Amar Jha
Amar J.
2.5
4 years ago

need for more example based on core java rather than ui

  • Helpful
  • Not helpful
ui-avatar of Philip Hwang
Philip H.
3.0
4 years ago

It starts off ok, but it feel like less effort was made in later lessons. Some quizzes are repeated multiple times, other quizzes are not relevant to the topic, some topics are mostly rehashes of previous topics, and others just cover the Wikipedia definition.

  • Helpful
  • Not helpful
ui-avatar of Niket Yende
Niket Y.
5.0
4 years ago

Excellent course to understand the different design patterns. Very well taught by the tutors.

  • Helpful
  • Not helpful
ui-avatar of Gaurav Sharma
Gaurav S.
5.0
4 years ago

The explanation is excellent and clear
I have gone through many tutorials about patterns but this is the most amazing,simple and easy to grasp course i found

  • Helpful
  • Not helpful
ui-avatar of Kiran Jaghni
Kiran J.
3.0
5 years ago

Structural vs Behavior could be explained more clearly.

  • Helpful
  • Not helpful
ui-avatar of Anonymized User
Anonymized U.
5.0
5 years ago

You made learning design patterns very simple.

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses