HOME > Development > Design Patterns in Java

Design Patterns in Java

  • Development
  • Jan 06, 2025
SynopsisDesign Patterns in Java, available at $89.99, has an average...
Design Patterns in Java  No.1

Design Patterns in Java, available at $89.99, has an average rating of 4.23, with 123 lectures, 22 quizzes, based on 8583 reviews, and has 55644 subscribers.

You will learn about Recognize and apply design patterns Refactor existing designs to use design patterns Reason about applicability and usability of design patterns This course is ideal for individuals who are Software engineers or Designers or Architects It is particularly useful for Software engineers or Designers or Architects.

Enroll now: Design Patterns in Java

Summary

Title: Design Patterns in Java

Price: $89.99

Average Rating: 4.23

Number of Lectures: 123

Number of Quizzes: 22

Number of Published Lectures: 123

Number of Published Quizzes: 22

Number of Curriculum Items: 145

Number of Published Curriculum Objects: 145

Original Price: $89.99

Quality Status: approved

Status: Live

What You Will Learn

  • Recognize and apply design patterns
  • Refactor existing designs to use design patterns
  • Reason about applicability and usability of design patterns
  • Who Should Attend

  • Software engineers
  • Designers
  • Architects
  • Target Audiences

  • Software engineers
  • Designers
  • Architects
  • Course Overview

    This course provides a comprehensive overview of?Design Patterns in Java?from a practical perspective. This course in particular covers patterns with the use of:

  • The latest versions of the Java programming language

  • Use of modern programming approaches:?dependency injection, reactive programming and more

  • Use of modern developer tools such as IntelliJ?IDEA

  • Discussions of pattern variations and alternative approaches

  • This course provides an overview of all the Gang of Four (GoF)?design patterns as outlined in their seminal book, together with modern-day variations, adjustments, discussions of intrinsic use of patterns in the language.

    What are Design Patterns?

    Design Patterns are reusable solutions to common programming problems. They were popularized with the 1994 book?Design?Patterns:?Elements of Reusable Object-Oriented Software?by?Erich Gamma,?John Vlissides, Ralph Johnson and Richard Helm?(who are commonly known as a Gang of Four, hence the GoF acronym).

    The original book was written using C++?and Smalltalk as examples, but since then, design patterns have been adapted to every programming language imaginable:?C#, Java, PHP and even programming languages that aren’t strictly object-oriented, such as JavaScript.

    The appeal of design patterns is immortal:?we see them in libraries, some of them are intrinsic in programming languages, and you probably use them on a daily basis even if you don’t realize they are there.

    What Patterns Does This Course?Cover?

    This course covers?all?the GoF design patterns. In fact, here’s the full list of what is covered:

  • SOLID?Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and?Dependency Inversion Principle

  • Creational Design Patterns:?Builder, Factories (Factory Method and Abstract?Factory), Prototype and?Singleton

  • Structrural Design Patterns: Adapter, Bridge,?Composite, Decorator, Fa?ade,?Flyweight and?Proxy

  • Behavioral Design Patterns: Chain of Responsibility,?Command, Interpreter, Iterator, Mediator, Memento, Null Object, Observer, State, Strategy, Template?Method and Visitor

  • Who Is the Course For?

    This course is for Java?developers who want to see not just textbook examples of design patterns, but also the different variations and tricks that can be applied to implement design patterns in a modern way. For example, the use of recursive generics helps us build fluent interfaces even when inheritance is involved.

    Presentation Style

    This course is presented as a (very large)?series of live demonstrations being done in IntelliJ?IDEA and presented using the?Kinetica rendering engine.?Kinetica removes the visual clutter of the?IDE, making you focus on code, which is rendered perfectly, whether you are watching the course on a big screen or a mobile phone.?

    Most demos are single-file, so you can download the file attached to the lesson and run it in IntelliJ, Eclipse or another?IDE?of your choice.

    This course does not use UML?class diagrams; all of demos are live coding. I use IntelliJ and various Maven packages where necessary.

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Chapter 2: SOLID Design Principles

    Lecture 1: Overview

    Lecture 2: Single Responsibility Principle (SRP)

    Lecture 3: Open-Closed Principle (OCP)

    Lecture 4: Liskov Substitution Principle (LSP)

    Lecture 5: Interface Segregation Principle (ISP)

    Lecture 6: Dependency Inversion Principle (DIP)

    Lecture 7: Summary

    Chapter 3: Builder

    Lecture 1: Gamma Categorization

    Lecture 2: Overview

    Lecture 3: Builders in Java

    Lecture 4: Builder

    Lecture 5: Fluent Builder

    Lecture 6: Fluent Builder Inheritance with Recursive Generics

    Lecture 7: Faceted Builder

    Lecture 8: Summary

    Chapter 4: Factories

    Lecture 1: Overview

    Lecture 2: Factory Method

    Lecture 3: Factory

    Lecture 4: Abstract Factory

    Lecture 5: Summary

    Chapter 5: Prototype

    Lecture 1: Overview

    Lecture 2: Dont Use Cloneable

    Lecture 3: Copy Constructors

    Lecture 4: Copy Through Serialization

    Lecture 5: Summary

    Chapter 6: Singleton

    Lecture 1: Overview

    Lecture 2: Basic Singleton

    Lecture 3: Serialization Problems

    Lecture 4: Static Block Singleton

    Lecture 5: Laziness and Thread Safety

    Lecture 6: Inner Static Singleton

    Lecture 7: Enum Based Singleton

    Lecture 8: Monostate

    Lecture 9: Multiton

    Lecture 10: Testability Issues

    Lecture 11: Singleton in Dependency Injection

    Lecture 12: Summary

    Chapter 7: Adapter

    Lecture 1: Overview

    Lecture 2: Vector/Raster Demo

    Lecture 3: Adapter Caching

    Lecture 4: Summary

    Chapter 8: Bridge

    Lecture 1: Overview

    Lecture 2: Bridge

    Lecture 3: Summary

    Chapter 9: Composite

    Lecture 1: Overview

    Lecture 2: Geometric Shapes

    Lecture 3: Neural Networks

    Lecture 4: Summary

    Chapter 10: Decorator

    Lecture 1: Overview

    Lecture 2: String Decorator

    Lecture 3: Dynamic Decorator Composition

    Lecture 4: Static Decorator Composition

    Lecture 5: Adapter-Decorator

    Lecture 6: Summary

    Chapter 11: Fa?ade

    Lecture 1: Overview

    Lecture 2: Fa?ade

    Lecture 3: Summary

    Chapter 12: Flyweight

    Lecture 1: Overview

    Lecture 2: Repeating User Names

    Lecture 3: Text Formatting

    Lecture 4: Summary

    Chapter 13: Proxy

    Lecture 1: Overview

    Lecture 2: Protection Proxy

    Lecture 3: Property Proxy

    Lecture 4: Dynamic Proxy for Logging

    Lecture 5: Proxy vs. Decorator

    Lecture 6: Summary

    Chapter 14: Chain of Responsibility

    Lecture 1: Overview

    Lecture 2: Method Chain

    Lecture 3: Command Query Separation

    Lecture 4: Broker Chain

    Lecture 5: Summary

    Chapter 15: Command

    Lecture 1: Overview

    Instructors

  • Design Patterns in Java  No.2
    Dmitri Nesteruk
    Software/Hardware Engineering ? Quant Finance ? Algotrading
  • Rating Distribution

  • 1 stars: 176 votes
  • 2 stars: 235 votes
  • 3 stars: 994 votes
  • 4 stars: 3069 votes
  • 5 stars: 4109 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!