YoVDO

Software Architecture (SOLID) & Design Patterns in Java

Offered By: Udemy

Tags

Java Courses Software Architecture Courses Object-Oriented Design Courses Behavioral Patterns Courses Design Patterns Courses Creational Patterns Courses

Course Description

Overview

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

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

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

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


Taught by

Holczer Balazs

Related Courses

C++ Programming: Object-Oriented Design
Codio via edX
C++ Programming: A Hands-on Introduction
Codio via edX
AP Computer Science A: Java Programming Classes and Objects
Purdue University via edX
Data Structures and Design Patterns for Game Developers
University of Colorado System via Coursera
Design Patterns
University of Alberta via Coursera