Udemy

Software Architectures (SOLID) & Design Patterns in Java

Enroll Now
  • 23,444 Students
  • Updated 4/2025
4.5
(3,670 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
9 Hour(s) 21 Minute(s)
Language
English
Taught by
Holczer Balazs
Rating
4.5
(3,670 Ratings)

Course Overview

Software Architectures (SOLID) & Design Patterns in Java

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

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!

Course Content

  • 33 section(s)
  • 102 lecture(s)
  • Section 1 Introduction
  • Section 2 ### SOLID PRINCIPLES ###
  • Section 3 S - Single Responsibility Principle
  • Section 4 O - Open/Closed Principle
  • Section 5 L - Liskov Substitution Principle
  • Section 6 I - Interface Segregation Principle
  • Section 7 D - Dependency Inversion Principle
  • Section 8 ### DESIGN PATTERNS ###
  • Section 9 CREATIONAL DESIGN PATTERNS
  • Section 10 Singleton Pattern
  • Section 11 Factory Pattern
  • Section 12 Builder Pattern
  • Section 13 Prototype Pattern
  • Section 14 BEHAVIORAL DESIGN PATTERNS
  • Section 15 Strategy Pattern
  • Section 16 Observer Pattern
  • Section 17 Command Pattern
  • Section 18 Iterator Pattern
  • Section 19 Template Pattern
  • Section 20 NULL Object Pattern
  • Section 21 Visitor Pattern
  • Section 22 STRUCTURAL DESIGN PATTERNS
  • Section 23 Decorator Pattern
  • Section 24 Facade Pattern
  • Section 25 Flyweight Pattern
  • Section 26 Adapter Pattern
  • Section 27 Bridge Pattern
  • Section 28 Composite Pattern
  • Section 29 ### SYSTEM DESIGN ###
  • Section 30 API and Web Service Design
  • Section 31 Software Architectures
  • Section 32 Data Storage Design
  • Section 33 DOWNLOADS (Course Materials)

What You’ll 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)


Reviews

  • P
    PARTHIPAN MUTHURAMALINGAM
    5.0

    Good

  • A
    Andrea Cervantes Chino
    5.0

    Clase clara y precisa

  • S
    Semiha Gürsoy
    5.0

    Great course! Excellent explanations and examples. I especially liked the "API and Web Service Design", "Software Architectures" and "Data Storage Design" sections. I strongly recommend it.

  • S
    Shubham Chauhan
    1.0

    worst

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed