Design Patterns – 24 That Matter – In Java

About this Course
  • 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

design-patterns-24-that-matter-in-java

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

Who is the target audience?

  • Yep! Engineers – from street-smart coders to wise architects – ought to take this course. After this class, you’ll look at software design with a new pair of eyes
  • Yep! Product Managers ought to take this course – you will learn to understand the ‘how’ of Software Design without being constrained by it
  • Yep! Technology executives and investors who don’t write code ought to take this course – after this you will always have an intelligent point-of-view on software, and won’t find your eyes glazing over when its time to talk nitty-gritty
  • Computer Science majors (undergrad or grad) – if you are among the folks that make ‘real world example Observer Pattern’ such a common search phrase on Google, this is precisely the place for you
  • Yep! Journalists, Wall Street types or IP lawyers seeking to understand recurring patterns of problems and solutions in technology
  • Yep! If you are prepping hard for software engineering interviews 🙂
  • Nope! This course is not right for you if you are looking for a Programming 101 course. That’s not because there are pre-requisites, but simply because a Programming 101 course focuses on syntax, and on doing, while this course focuses on design, and on thinking

Design Patterns - 24 That Matter - In Java1

Basic knowledge
  • There are no pre-requisites other than curiosity – about Design, about Patterns, about Life 🙂
What you will learn
  • 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
  • Spot programming idioms that are actually built on Design Patterns, but that are now hiding in plain sight

More: 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s