Learn Design Patterns with Java
3.7 (5 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
31 students enrolled

Learn Design Patterns with Java

Learn and master common design patterns in Java , and become an efficient programmer
3.7 (5 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
31 students enrolled
Created by Packt Publishing
Last updated 8/2018
English
English [Auto]
Current price: $80.99 Original price: $124.99 Discount: 35% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understanding complex coding issues in easy-to-understand code examples
  • Brain-friendly examples with real-life analogies
  • Practical coding examples for practice and ease of understanding
  • Mini projects as assignments to ensure that you are able to apply design patterns
  • Practical guide for design patterns (not boring theory but 100% practical coding as a reference guide )
  • Will help you develop good coding habits.
  • Understand complex designs and architecture effortlessly.
  • Develop non-cluttered reusable code with industry standard proven solutions documented in design patterns
Course content
Expand all 41 lectures 05:55:14
+ Getting Started with Design Patterns
10 lectures 01:15:19

This video provides an overview of the entire course.

Preview 07:36

This video will show how to write good quality code.

   •  Learn about standards and code smells in day to day coding

   •  Understand different ways to make code understandable and readable

   •  Explore code guide lines and code conventions documents

How to Write Better Code
09:32

Learn what the differences between code issue and design issues are.

   •  Learn about the concept of design issue and code issue

   •  Understand fundamental differences between code issue and design issue

   •  Deep dive into effects of bad design on application performance

Code Issues Versus Design Issues
05:15

Learn What are design Patterns.

   •  Learn the very basic reason for necessity and existence of design patterns

   •  Understand design pattern definition and other aspects

   •  Explore design patterns with real life example

What Are Design Patterns
04:39

Learn what different benefits of a design pattern are for a developer.

   •  Learn about different benefits of design patterns

   •  Understand how knowledge of design pattern boosts productivity in day to day programming

   •  Explore how design pattern can help to moving upwards in your career

Benefits of a Design Pattern for a Developer
06:12

Learn how design pattern are similar to life patterns.

   •  Learn show design pattern relates to life pattern of successful people

   •  Understand what are anti patterns

   •  Explore the effect of aging on design patterns

How Design Patterns Are Similar to Life Patterns
05:14

Learn if design patterns are different for different languages.

   •  Learn how design patterns are language independent

   •  Understand high level implementation of same design solution in multiple languages

   •  Explore code examples in Java 9 and python for same design solution

Are Design Patterns Different for Different Languages
03:02

Learn how to setup development environment for running design pattern code examples.

   •  Learn about technologies and software required to set up development environment

   •  Download Java 9, IntelliJ IDEA code editor

   •  Install Java 9 and run the sample code

Setting Up the Development Environment
07:52

Learn what are the issues in force fitting everything in object inheritance.

   •  Learn about different approaches of inheritance and concept of composition

   •  Understand how inheritance using implements is better than inheritance using extends

   •  Explore code examples of inheritance and composition

Issues Faced Due to Force Fitting Everything in Object Inheritance
12:38

Learn what fundamental concepts of code reusability are.

   •  Learn about the fundamental concept of design principles for code reusability

   •  Understand the WET and DRY design principle

   •  Explore code examples to figure out whether your code follows SOLID design principles

Fundamental Concepts of Code Reusability
13:19
+ Categorization of Design Pattern
4 lectures 31:58

Learn what are critical design issues in software and can all of them be solved by applying one design pattern.

   •  Learn critical design issues in software

   •  Understand concepts of tight coupling

   •  Explore code examples to understand design issues cyclomatic complexity

Preview 12:53

Learn how different designs issues are identified and solution is applied.

   •  Learn how to look at code with perspective of doctor to diagnose the problem

   •  Understand how to recognize the pattern of problem and design solution around it

   •  Explore code examples to understand memory leaks

Recognize the Pattern of Problem and Design Solution to Solve It
04:28

Learn what different categories of design patterns are.

   •  Learn about three categories of design patterns

   •  Understand philosophy behind categorization

   •  Explore 23 design pattern with quick introduction

Categorizing Design Patterns
05:07

Learn what are different design patterns used in Frameworks and Java languages.

   •  Learn about different design patterns used in spring and hibernate framework

   •  Understand how java uses decorator design patterns file IO modules

   •  Explore code examples to setup and run code examples for hands on coding practice

Framework Architecture
09:30
+ Creational Design Patterns
5 lectures 58:32

Learn what Singleton Design Pattern is and how to use it.

   •  Learn what Singleton Design Pattern is

   •  Understand Singleton Pattern with Singleton Cook example

   •  Explore code example to implement Singleton Design Pattern

Singleton Design Pattern
13:42

Learn what prototype design pattern is and how to use it.

   •  Learn what is prototype design pattern

   •  Understand prototype pattern with example of statue creator project

   •  Explore code example to implement prototype design pattern

Prototype Design Pattern
07:47

Learn what is builder design pattern and how to use it.

   •  Learn what is builder design pattern

   •  Understand builder pattern with example of house builder project

   •  Explore code example to implement builder design pattern

Builder Design Pattern
13:11

Learn what Factory Design Pattern is and how to use it.

   •  Learn what is Factory Design Pattern

   •  Understand Factory pattern with example of Ice Cream Factory

   •  Explore code example to implement Factory Design Pattern

Factory Design Pattern
10:10

Learn what Abstract Factory Design Pattern is and how to use it.

   •  Learn what is Abstract Factory Design Pattern

   •  Understand Abstract Factory pattern with example Abstract Cream Factory

   •  Explore code example to implement Abstract Factory Design Pattern

Abstract Factory Design Pattern
13:42
+ Structural Design Patterns
7 lectures 01:02:21

Learn what Adapter Design Pattern is and how to use it.

   •  Learn what is Adapter Design Pattern

   •  Understand Adapter pattern with example of Headphone adapter project

   •  Explore code example to implement Adapter Design Pattern

Adapter Design Pattern
09:04

Learn what Proxy Design Pattern is and how to use it.

   •  Learn what is Proxy Design Pattern

   •  Understand Proxy pattern with example of Proxy Mobile device project

   •  Explore code example to implement Proxy Design Pattern

Proxy Design Pattern
07:49

Learn what Facade Design Pattern is and how to use it.

   •  Learn what is Facade Design Pattern

   •  Understand Facade pattern with example of Master Remote controller project

   •  Explore code example to implement Facade Design Pattern

Facade Design Pattern
08:18

Learn what Bridge Design Pattern is and how to use it.

   •  Learn what is Bridge Design Pattern

   •  Understand Bridge pattern with example of TV remote project

   •  Explore code example to implement Bridge Design Pattern

Bridge Design Pattern
10:02

Learn what Composite Design Pattern is and how to use it.

   •  Learn what is Composite Design Pattern

   •  Understand Composite pattern with example of Employee Listing application

   •  Explore code example to implement Composite Design Pattern

Composite Design Pattern
09:18

Learn what Flyweight Design Pattern is and how to use it.

   •  Learn what is Flyweight Design Pattern

   •  Understand Flyweight Pattern with example of Star Wars project

   •  Explore code example to implement Flyweight Design Pattern

Flyweight Design Pattern
07:09

Learn what Decorator Design Pattern is and how to use it.

   •  Learn what is Decorator Design Pattern

   •  Understand Decorator pattern with example of Cake Decoration Project

   •  Explore code example to implement Decorator Design Pattern

Decorator Design Pattern
10:41
+ Behavioral Design Patterns - The Beginning
5 lectures 45:54

Learn what Iterator Design Pattern is and how to use it.

   •  Learn what is Iterator Design Pattern

   •  Understand Iterator pattern with example of Facebook Friend list project

   •  Explore code example to implement Iterator Design Pattern

Iterator Design Pattern
07:52

Learn what Mediator Design Pattern is and how to use it.

   •  Learn what is Mediator Design Pattern

   •  Understand Mediator pattern with example of Air Traffic Controller project

   •  Explore code example to implement Mediator Design Pattern

Mediator Design Pattern
09:41

Learn what Command Design Pattern is and how to use it.

   •  Learn what is Command Design Pattern

   •  Understand Command pattern with example of Switch Controller project

   •  Explore code example to implement Command Design Pattern

Command Design Pattern
09:51

Learn what Chain of Responsibility Design Pattern is and how to use it.

   •  Learn what is Chain of Responsibility Design Pattern

   •  Understand Chain of Responsibility pattern with example of Money Dispenser Machine

   •  Explore code example to implement Chain of Responsibility Design Pattern

Chain of Responsibility Design Pattern
08:11

Learn what Interpreter Design Pattern is and how to use it.

   •  Learn what is Interpreter Design Pattern

   •  Understand Interpreter pattern with example of Alexa Chat Bot Project

   •  Explore code example to implement Interpreter Design Pattern

Interpreter Design Pattern
10:19
+ Behavioral Design Patterns — the Conclusion
6 lectures 58:27

Learn what Observer Design Pattern is and how to use it.

   •  Learn what is Observer Design Pattern

   •  Understand Observer pattern with example of Share Trading platform

   •  Explore code example to implement Observer Design Pattern

Observer Design Pattern
11:03

Learn what Strategy Design Pattern is and how to use it.

   •  Learn what is Strategy Design Pattern

   •  Understand Strategy pattern with example of Mountaineering application

   •  Explore code example to implement Strategy Design Pattern

Strategy Design Pattern
07:50

Learn what State Design Pattern is and how to use it.

   •  Learn what is State Design Pattern

   •  Understand State pattern with example of Medical Treatment application

   •  Explore code example to implement State Design Pattern

State Design Pattern
08:38

Learn what Template Method Design Pattern is and how to use it.

   •  Learn what is Template Method Design Pattern

   •  Understand Template Method pattern with example of Juicy application

   •  Explore code example to implement Template Method Design Pattern

Template Method Design Pattern
08:54

Learn what Visitor Design Pattern is and how to use it.

   •  Learn what is Visitor Design Pattern

   •  Understand Visitor pattern with example University lecture application

   •  Explore code example to implement Visitor Design Pattern

Visitor Design Pattern
10:23

Learn what Memento Design Pattern is and how to use it.

   •  Learn what is Memento Design Pattern

   •  Understand Memento pattern with example of Super Mario video game project

   •  Explore code example to implement Memento Design Pattern

Memento Design Pattern
11:39
+ Conclusion
4 lectures 22:43

Learn when to use which design pattern and when not to use it.

   •  Understand the requirements or core problem of project

   •  Figure out which category of design pattern satisfies requirement and solves problem

   •  Evaluate and implement the best matched pattern

When to Use Which Design Pattern?
04:02

This video will show the application of knowledge acquired as part of the course and implement in a mini project.                         

  • Understand requirements for Library Management project

  • Figure out design pattern which can satisfy requirements

  • Implement design patterns in code base and share it

Mini-Project
09:14

Learn Anti-patterns.                         

  • Learn basics of anti-pattern

  • Explore with example of electric fire

  • Understand thin line between pattern and anti-pattern

Anti Patterns
02:20

Go through the Links and resources for deeper learning.                         

  • Discover helpful resources to learn design pattern

  • Explore Design pattern community page and other tools

  • Learn about design diagram and other helpful tools

Resources for Deeper Learning
07:07
Requirements
  • Basic knowledge of OOPs (preferably in Java).
Description

Design Patterns give a software developer an array of tried and tested solutions to common problems, thus reducing the technical risk to the project by not having to employ a new and untested design. This course is a practical guide to learning design pattern with 100% coding involved. We encourage users to do coding in parallel while learning the course. 

In this course, you will start by exploring the benefits of using design patterns for developers in their regular development environment. You will move on to see which design patterns are suited for which circumstances. You will see the different categories to which the Design Patterns belong. Throughout this course, each type of Design Pattern will be accompanied by a practical example and information on when to use a given Design Pattern. You will also be shown scenarios in which specific Design Patterns are to be avoided.

In the end, you will learn how to overcome any issues that may be encountered while using design patterns initially. 

About the Author

Aseem Jain is currently working in the USA with Accion Labs Inc. and holds Masters in Computer Application (MCA) degree. 

The senior programmer has 15 years' programming experience and is a very famous blogger with million views. Aseem Jain, the author is a Design Pattern certified programmer. Currently, he is architecting a software platform for the Transport industry in the USA.   

Who this course is for:
  • Looking to refine their code through design patterns in their day to day coding practice.