Basics of Software Architecture & Design Patterns in Java
4.3 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,619 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Basics of Software Architecture & Design Patterns in Java to your Wishlist.

Add to Wishlist

Basics of Software Architecture & Design Patterns in Java

A guide to create smart, reusable softwares with SOLID principles and design patterns
Bestselling
4.3 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,619 students enrolled
Created by Holczer Balazs
Last updated 2/2017
English
Current price: $10 Original price: $50 Discount: 80% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 4.5 hours on-demand video
  • 7 Articles
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
SOLID principles
Design patterns
Object oriented design
View Curriculum
Requirements
  • Basic Java
  • Object oriented programming
Description

Hi!

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.

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.

Who is the target audience?
  • This course is meant for newbies who are familiar with Java and want to be able to write reusable code
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 58 Lectures Collapse All 58 Lectures 04:30:21
+
Introduction
1 Lecture 02:19
+
SOLID Principles ( Design Principles )
20 Lectures 01:27:11
------------------------ S -----------------------------
00:01



Single responsibility principle example II
06:07

------------------------ O -----------------------------
00:01


The open closed principle example I
08:28

The open closed principle II
04:51

------------------------ L -----------------------------
00:01

Liskov substitution principle
03:53

Liskov substitution principle I
07:28

Liskov substitution principle II
03:16

------------------------ I -----------------------------
00:01

Interface segregation principle
02:57

Interface segregation principle example
07:47

------------------------ D -----------------------------
00:01

Dependency inversion principle introduction I
07:18

Inversion of control - dependency injection
05:59

Dependency inversion principle example I
06:02

Dependency inversion principle example II
05:46
+
Behavioral Design Patterns
14 Lectures 01:18:52
Strategy pattern introduction
05:16

Strategy pattern example
06:05

Observer pattern introduction
03:01

Observer pattern example
10:06

Command pattern introduction
02:44

Command pattern example I
07:30

Command pattern example II - queuing model
08:10

Iterator pattern example
05:27

Template pattern introduction
01:48

Template pattern example
05:58

Null object pattern introduction
02:06

Null object pattern example
08:35

Visitor pattern introduction
02:33

Visitor pattern implementation
09:33
+
Creational Design Patterns
8 Lectures 42:44
Singleton pattern
06:33

Singleton pattern II
02:47

Factory pattern introduction
02:29

Factory pattern example
05:17

Builder pattern introduction
03:31

Builder pattern example - avoiding telescopic constructors
09:08

Why to use builder pattern?
06:39

Data Access Object (DTO) pattern example
06:20
+
Structural Design Patterns
6 Lectures 22:20
Decorator pattern introduction
02:17

Decorator pattern example
08:10

Facade pattern introduction
01:08

Facade pattern example
04:56

Adapter pattern introduction
01:07

Adapter pattern example
04:42
+
Model-View-Controller (MVC) Application
4 Lectures 14:56
Model-view-controller introduction
03:07

Model-view-controller - Model
01:38

Model-view-controller - View
05:24

Model-view-controller - Controller
04:47
+
Miscellaneous
3 Lectures 21:51
Service locator introduction
06:20

Service locator pattern implementation
12:40

JNDI and service locator pattern
02:51
+
Source Code
2 Lectures 00:08

You can download the source code here!

Source code
00:02

Coupon codes - get any of my other courses for a discounted price
00:06
About the Instructor
Holczer Balazs
4.4 Average rating
2,200 Reviews
22,860 Students
19 Courses
Software Engineer

Hi!

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist and later on I decided to get a master degree in applied mathematics. 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 and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model. Quantitative analysts use these algorithms and numerical techniques on daily basis so in my opinion these topics are definitely worth learning.

Take a look at my website and join my email list if you are interested in these topics!