Basics of Software Architecture & Design Patterns in Java

This course is about software architecture and design patterns. We will talk about two man topics: SOLID principles and design patterns. We are going to implement the problems in Java, but the theoretical background is language-independent. I highly recommend typing out the implementations several times on your own in order to get a good grasp of it.

Section 1:

  • what are SOLID principles
  • single responsibility principle
  • open closed principle
  • Liskov's substitution principle
  • interface segregation principle
  • dependency inversion principle

Section 2:

  • what are behavioral design patterns
  • strategy pattern
  • observer pattern
  • command pattern
  • iterator pattern
  • template pattern and null object pattern
  • visitor pattern

Section 3:

  • what are creational design pattern
  • singleton pattern
  • factory pattern
  • builder pattern

Section 4:

  • what is structural design pattern
  • decorator pattern
  • facade pattern
  • adapter pattern

Section 5:

  • the model-view-controller (MVC) model
  • application in Java with MVC

In the first part of the course we are going to learn about the SOLID principles. We are going to talk about the theory as well as the implementations.

The second part of the course is about design patterns. We should have a deep understanding of these patterns in order to be able to write reusable software components. These techniques are becoming more and more important as applications are getting more and more complex, so - in my opinion - these topics are good to know.

Basics of Software Architecture & Design Patterns in Java $11.99

Enroll on Udemy


  • 4.5 hours on-demand video
  • 7 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion