Skip to content
UdemyJavaPaid courseAll LevelsCertificate

Software Architectures (SOLID) & Design Patterns in Java (Udemy.com)

A guide to Create Smart, Reusable Softwares with SOLID Principles and Design Patterns + System Design, Scalability

Created by: Holczer Balazs

Last updated September 2026

icon
What you will learn

  • SOLID principles
  • understand the core of design patterns
  • object oriented design
  • single responsibility principle
  • open / closed principle
  • Liskov substitution principle
  • the interface segregation principle
  • the dependency inversion principle
  • creational design patterns (singleton pattern, factory pattern, builder pattern and prototype pattern)
  • behavioral design patterns (strategy pattern, command pattern, visitor pattern and template pattern)
  • structural design patterns (adapter pattern, facade pattern and decorator pattern)

How it compares

Against the other 231 rated Udemy courses in Java on CourseDuck:

  • Rating4.6 out of 5higher than 71% of them
  • Reviews3,772#62 of 232 by number of reviews
  • Length9.4 hoursshorter than 49% of them
  • Last updatedSeptember 2026more recently than 94% of them

icon
Course Description

Are you ready to take your coding skills to the next level? This course is your gateway to writing clean, maintainable, and scalable software by mastering two of the most important pillars of software architecture: SOLID principles and design patterns.

We’ll start by diving deep into the SOLID principles — five core guidelines every professional developer should know. You’ll not only learn the theory behind each principle but also see how to implement them in Java through hands-on examples.

Next, we’ll explore the world of design patterns, the time-tested solutions to common software design problems. You’ll learn how these patterns help you write flexible and reusable code — an essential skill as software systems become increasingly complex.

Section 1 - SOLID Principles

  • what are SOLID principles?

  • single responsibility principle

  • open closed principle

  • Liskov's substitution principle

  • interface segregation principle

  • dependency inversion principle

  • what is dependency injection?

Section 3 - Creational Design Patterns

  • what are creational design patterns?

  • singleton pattern

  • factory pattern

  • abstract factory pattern

  • builder pattern

  • prototype pattern

Section 2 - Behavioral Design Patterns

  • what are behavioral design patterns?

  • strategy pattern

  • observer pattern

  • command pattern

  • iterator pattern

  • template pattern and null object pattern

  • visitor pattern

Section 3 - Structural Design Patterns

  • what are structural design patterns?

  • decorator pattern

  • flyweight pattern

  • facade pattern

  • adapter pattern

  • composite pattern

  • bridge pattern

Section 4 - API Design

  • SOAP

  • RPC

  • REST

Section 5 - Software Architectures

  • monolithic architecture

  • layered (n-tier) architecture

  • service oriented architecture (SOA)

  • micorservice architecture

Section 6 - Data Storage Design

  • relational databases

  • non-relational databases

  • scaling relational and non-relational databases

  • replication and sharding

  • CAP theorem

While the implementation will be in Java, the concepts are language-agnostic and valuable to any developer, regardless of your tech stack.

This is a practical course — I strongly encourage you to code along and re-implement the examples yourself. This is the best way to build a strong foundation and internalize the patterns and principles we’ll cover.

Whether you're a junior developer looking to build solid habits or an experienced programmer aiming to sharpen your design skills, this course is for you.

Thanks for joining — now let’s dive in and level up your software design skills!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$10.99

$10.99

$13.99

$13.99

$84.99

icon
More Java courses

Free

$84.99

$119.99

$174.99

$17.99

$12.99

icon
Reviews

4.6

3,772 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Anonymized User on 10/8/2025

7 years ago, I once read a book known as 'Gang of Four Design Patterns', however, I could not understand the book and put it aside, to prepare for Oracle Certified Associate (OCA) Java certification, which deepen my usage of interface and classes in Java. With the help of this Udemy course, I have gained knowledge and greater appreciation for these design patterns. Now, i can create more interesting projects myself :) Thank you Holczer Balazs!

By Daniel Chmielewski on 3/23/2024

Yes, it was a good match but sometimes the explanations and coding examples were a bit too fast and not enough detail was covered under some of the more complex concepts. Quizzes at the end of modules should be more difficult and should contain more questions.

By Aaron Lanning on 5/19/2023

Fantastic Overview of Design Patterns and SOLID Principles. Real-world examples and useful exercises to reinforce the concepts. The slides and quizzes helped to reinforce learning. I definitely recommend coding along with examples and doing the exercises. Would also serve as good reference moving forward!

By Surekha Mahadevappa on 6/22/2022

I bought this course thinking that I would know about the design patterns well. But this course seems to be a very basic one, no examples given or explained. The information given here seems to generic. If anyone wants to learn design patterns in deep, this is not the one at all.

By José Navío on 2/11/2022

Very good course. Explains difficult concepts in a simple way. I understood what the university did not teach me or explain in a bad way. The code examples are very good, I understood the ones with a black background better because of the font size. Those with a white background were difficult for me to understand. If it wasn't for that I would give it 5 stars.

By Stefano Santilli on 11/1/2021

I think you have created a great course. It is a complete course that goes from the principles (SOLID) to the GoF patterns and also to higher level patterns like MVC and Service Locator. The explanation is clear with good examples. Thanks and good

By Tuan Le on 8/23/2021

Khóa học giúp tôi code được gọn gàng và giải quyết được nhiều bài toán thực tế trong quá trình phát triển ứng dụng. Tuy nhiên tôi vẫn muốn có nhiều ví dụ liên quan tới thực tế hơn nữa với độ phức tạp cao hơn một chút để dễ hình dung trong thực tế làm dự án.

By Yixuan Li on 3/27/2021

The course is really good for learning design patterns for the first time or refreshing design patterns knowledge. Although the examples are simple, it gives and conveys the idea in a straight-forward way. The course could be better if there is a section including more complex examples for each pattern and comparisons over patterns on certain real-world problem (but the workload will be large). Overall, great course. Thank you so much.

By Dineth Senevirathne on 11/25/2020

This course provides a step by step guide to learn design patterns people who are new to Java Programming. But some examples are bit confusing. But you can always refer other online sources like "baeldung" and "journaldev" to get a total understanding.

By Jeffery Yule on 11/19/2020

This course helped me gain a deeper understanding of Design Patterns but did not really reinforce the learning with exercises. I will have to dig deeper into the downloaded course materials.

By Sandeep Gubrelay on 11/18/2020

Course content is good, instructor is also having good knowledge over the topic..

By Ashish Kumar on 11/15/2020

Useful and interesting lesson.

Showing 12 of 228 reviews

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100