Software Architecture (SOLID) & Design Patterns in Java

Learn software architecture through SOLID principles and design patterns. Implement concepts in Java for reusable, smart software development.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course dives into the essentials of software architecture by focusing on SOLID principles and various design patterns. By understanding these, you'll build smart, reusable software that's easy to manage and adapt as complexity grows. Plus, you'll get hands-on experience coding in Java!

Key Points

  • SOLID principles help create flexible and maintainable software.
  • Design patterns are proven solutions to common problems in software design.
  • Different types of design patterns: creational, behavioral, and structural.
  • The MVC pattern helps separate concerns in applications, making them easier to manage.
  • Implementations will be in Java, but concepts apply to any programming language.

Learning Outcomes

  • Grasp the SOLID principles for better software design.
  • Identify and apply different design patterns effectively.
  • Implement the MVC pattern in Java applications.
  • Understand both theoretical and practical aspects of software architecture.
  • Enhance your coding skills by practicing implementations.

About This Course

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

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 - 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

Section 4 - Model-View-Controller (MVC) Pattern

  • the model-view-controller (MVC) model

  • an application with Java Swing

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.

Thank for joining the course, let's get started!

  • understand SOLID principles

  • understand the core of design patterns

  • undertand object oriented design

Course Curriculum

1 Lectures

1 Lectures

1 Lectures

1 Lectures

1 Lectures

1 Lectures

1 Lectures

Instructor

Profile photo of Holczer Balazs
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...

Review
4.9 course rating
4K ratings
ui-avatar of Vladimir Lamiña
Vladimir L.
4.0
7 months ago

bueno

  • Helpful
  • Not helpful
ui-avatar of Jevino Shamgar A
Jevino S. A.
5.0
8 months ago

Nice and clean explanantion

  • Helpful
  • Not helpful
ui-avatar of Vijaykumar Tripurari
Vijaykumar T.
5.0
8 months ago

good

  • Helpful
  • Not helpful
ui-avatar of Chandan Gupta
Chandan G.
4.0
8 months ago

Beautifully explained but missing 9 design patterns. so this is not the complete course.

  • Helpful
  • Not helpful
ui-avatar of Kiran Kumar Manneela
Kiran K. M.
3.5
8 months ago

good

  • Helpful
  • Not helpful
ui-avatar of Idenson Eltume
Idenson E.
5.0
8 months ago

Great course and awesome guy!

  • Helpful
  • Not helpful
ui-avatar of Sushil Muduli
Sushil M.
5.0
8 months ago

good course

  • Helpful
  • Not helpful
ui-avatar of Nabeela Ghias
Nabeela G.
3.5
9 months ago

it is good

  • Helpful
  • Not helpful
ui-avatar of Sreesuman Narendrababu
Sreesuman N.
5.0
9 months ago

Good

  • Helpful
  • Not helpful
ui-avatar of Sahil Agarwal
Sahil A.
5.0
9 months ago

The course was very well structured and the examples and contents were just amazing

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses