Basics Of Software Architecture Design In Java

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

Last updated 2022-01-10 | 4.5

- understand SOLID principles
- understand the core of design patterns
- undertand object oriented design

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)

* Requirements

* Basic Java
* Object oriented programming

Description

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

Course content

29 sections • 96 lectures

Single responsibility principle introduction Preview 04:17

Single responsibility principle example Preview 13:33

Exercise Preview 00:33

Solution Preview 08:24

Single Responsible Principle Quiz

The open/closed principle introduction Preview 06:25

The open/closed principle example Preview 11:16

Exercise Preview 00:17

Solution Preview 03:35

Open/Closed Principle Quiz

Liskov substitution principle Preview 03:51

Liskov substitution principle example Preview 11:04

Interface segregation principle Preview 02:29

Interface segregation principle example Preview 08:22

Example Preview 00:22

Solution Preview 05:42

Interface Segregation Quiz

Dependency inversion principle introduction I Preview 05:52

Inversion of control - dependency injection Preview 05:59

Dependency inversion principle example Preview 10:16

Exercise Preview 00:14

Solution Preview 07:21

Dependency Inversion Principle Quiz

What is the singleton pattern? Preview 01:52

Singleton pattern example Preview 07:40

Singleton pattern with enums Preview 03:29

Singleton Pattern Quiz

Factory pattern introduction Preview 02:55

Factory pattern example Preview 05:51

Abstract factory pattern example Preview 08:03

Factory Pattern Quiz

Builder pattern introduction Preview 05:06

Builder pattern example - avoiding telescopic constructors Preview 09:08

Exercise Preview 00:17

Solution Preview 00:20

Why to use builder pattern? Preview 06:39

Builder Pattern Quiz

What is the prototype pattern? Preview 04:16

Prototype pattern example Preview 03:40

What is the strategy pattern? Preview 05:07

Strategy pattern example Preview 08:12

Why to use strategy pattern? Preview 05:51

Exercise Preview 00:49

Solution Preview 04:14

Strategy Pattern Quiz

Observer pattern introduction Preview 03:39

Observer pattern example Preview 10:06

Observer pattern with user interface components (Swing) Preview 06:05

Exercise - the basics of algorithmic trading Preview 04:18

Solution Preview 06:41

Observer Pattern Quiz

What is the command pattern? Preview 05:05

Command pattern example Preview 07:30

Queuing model with the command pattern Preview 08:10

Command Pattern Quiz

Template pattern introduction Preview 03:12

Template pattern example Preview 08:53

Exercise Preview 00:13

Solution Preview 00:21

Template Pattern Quiz

Null object pattern introduction Preview 02:06

Null object pattern example Preview 08:35

Visitor pattern introduction Preview 05:02

Visitor pattern implementation Preview 09:33

Exercise Preview 00:14

Solution Preview 07:22

Decorator pattern introduction Preview 02:34

Decorator pattern example Preview 08:10

Facade pattern introduction Preview 02:39

Facade pattern example Preview 04:56

Flyweight pattern introduction Preview 04:56

Flyweight pattern example Preview 09:16

String interning - string constant pool in JVM Preview 05:39

Flyweight Pattern Quiz

Adapter pattern introduction Preview 03:53

Adapter pattern example Preview 04:12

Exercise Preview 00:26

Solution Preview 04:53

Adapter pattern in the Java programming language Preview 02:54

Adapter Pattern Quiz

Model-view-controller introduction Preview 03:50

Model-view-controller - Model Preview 01:38

Model-view-controller - View Preview 05:24

Model-view-controller - Controller Preview 04:47

What is the problem with MVC? Preview 02:33

Service locator introduction Preview 06:20

Service locator pattern implementation Preview 12:40

JNDI and service locator pattern Preview 02:51