Skip to main content
CF

Experience Design Patterns In Java

7h 19m 58s
English
Paid

Boost your software designs by taking this content-rich and hands on fully featured training course. This course will give you insight in the more than 20+ design patterns from the book "Design Patterns: Elements of Reusable Object-Oriented Software", by Gamma, Helm, Johnson and Vlissides, which is considered the reference on the subject.

For each pattern a clear example is given to understand the problem the pattern will solve, as well as its advantages and disadvantages. You will be able to practically understand how the pattern works with the detailed included Java lessons.

At the end of this course, you will be able to

  • Identify common problems in your code
  • Apply the correct design pattern
  • Talk with colleagues using a common vocabulary (and be a hero)
  • Implement a better object oriented solution that is a lot more maintainable and readable

Requirements:

  • Knowledge of object oriented programming
  • Basic understanding of UML
  • Experience in Java for the practical sessions
  • An open mind
Who this course is for:
  • Software engineers
  • Designers
  • Architects

What you'll learn:

  • Write better programs
  • Identify design problems
  • Learn the industry standard common vocabulary

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 55 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 55 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (55)
#Lesson TitleDurationAccess
1
Introduction Demo
14:36
2
Case Study
17:10
3
Case Study: Defining document structure
07:57
4
Case Study: Rendering strategy
04:16
5
Case Study: User interaction
07:27
6
Case Study: Multi platform
13:32
7
Introduction
02:12
8
Singleton pattern
04:46
9
Singleton pattern using Java
09:30
10
Builder pattern
08:58
11
Builder pattern using Java
07:45
12
Factory method pattern
05:49
13
Factory method pattern using Java
05:57
14
Abstract factory pattern
06:03
15
Abstract factory using Java
07:24
16
Prototype pattern
05:55
17
Prototype pattern using Java
10:32
18
Introduction
03:49
19
Façade pattern
05:13
20
Façade pattern using Java
08:37
21
Adapter pattern
06:15
22
Adapter pattern using Java
04:32
23
Decorator pattern
07:17
24
Decorator pattern using Java
10:14
25
Bridge pattern
05:52
26
Bridge pattern using Java
08:27
27
Composite pattern
05:44
28
Composite pattern using Java
09:37
29
Proxy pattern
04:53
30
Proxy pattern using Java
10:49
31
Flyweight pattern
04:22
32
Flyweight pattern using Java
07:42
33
Introduction
03:23
34
Command pattern
05:54
35
Command pattern using Java
13:48
36
Strategy pattern
05:59
37
Strategy pattern using Java
10:57
38
Visitor pattern
11:24
39
Visitor pattern using Java
13:10
40
Observer pattern
06:29
41
Observer pattern using Java
07:17
42
Memento pattern
07:08
43
Memento pattern using Java
14:10
44
Mediator pattern
06:33
45
Mediator pattern using Java
12:20
46
Chain of responsibility pattern
05:00
47
Chain of responsibility pattern using Java
07:39
48
State pattern
06:33
49
State pattern using Java
18:55
50
Template method pattern
04:14
51
Template method pattern using Java
05:05
52
Inversion of control pattern
10:20
53
Inversion Of control pattern using Java
07:48
54
Data transfer object pattern
06:02
55
Data transfer object using Java
06:38
Unlock unlimited learning

Get instant access to all 54 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites should I have before enrolling in this course?
Before enrolling in this course, you should have a solid understanding of Java programming. Familiarity with object-oriented programming concepts is essential, as the course covers various design patterns using Java. Basic knowledge of software design principles will also be beneficial to grasp the more complex patterns discussed.
What kind of projects or exercises will be built during the course?
The course includes case studies that help illustrate the application of design patterns. You will explore defining document structures, rendering strategies, and user interaction in a multi-platform context. These case studies provide a practical framework for understanding how design patterns can be applied in real-world software development scenarios.
Who is the target audience for this course?
This course is designed for software developers and engineers who want to deepen their understanding of design patterns in Java. It is suitable for those who have a foundational knowledge of Java and are looking to apply design patterns to enhance their software design skills.
What is the scope of this course compared to other design pattern courses?
The course covers over 20 design patterns from the renowned book 'Design Patterns: Elements of Reusable Object-Oriented Software'. Each pattern is explored with specific Java implementations, providing a practical perspective that is often broader than more theoretical courses. It is content-rich and hands-on, offering detailed insights into each pattern's use and benefits.
Is there a focus on any specific tools or platforms?
The course is heavily focused on Java as the primary language for implementing design patterns. It explores each pattern with Java-specific examples, ensuring that learners understand how to apply these patterns effectively in Java-based applications.
What topics are not covered in this course?
The course does not cover design patterns outside of those outlined in the 'Design Patterns: Elements of Reusable Object-Oriented Software' book. It focuses primarily on object-oriented patterns and does not delve into patterns for other programming paradigms or languages outside of Java.
How can the knowledge gained in this course be applied to other areas of software development?
The design patterns covered in this course are fundamental principles of software design that can be applied across various programming languages and development environments. Understanding these patterns can improve your ability to design robust, maintainable, and scalable software solutions, making them valuable for any software development career.