Master Object Oriented Design in Java – Homework + Solutions

Master Object Oriented Design in Java – Homework + Solutions

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 5.5 Hours | 1.23 GB

Don’t just learn Java! Learn to write practical industry standard object oriented software and super charge your career!

This course is designed to take a junior level programmer with limited knowledge about object orientation to a competent level object oriented software designer! I expect you to understand the basics of loops, methods and conditionals in Java. You’ll be completing hands-on HOMEWORK Exercises through out the course! I have provided detailed video solutions to the exercises so that you can check your answers and get step by step instructions of how to tackle the object oriented design assignments.

You can find plenty of resources online for solving a programming puzzle or practicing algorithms. But… when it comes to object oriented design, admittedly, there is limited material out there for you to practice. So in this course, we use a LEARN-BY-DOING approach to explore a series of progressively challenging exercises to discover the 5 core object oriented design PRINCIPLES summarized by an acronym called SOLID:

(S). Single Responsibility
(O). Open/Closed
(L). Liskov Substitution
(l). Interface Segregation
(D). Dependency Inversion

During this journey you’ll get practice applying some of the most important DESIGN PATTERNS that competent developers must have under their belt. There are so many design patterns out there, but we’ll be thoroughly covering only the most important ones. Save yourself the time from learning all the design patterns and going on a design frenzy. Focus on the 20% that covers 80% of the scenarios and add miles to your programming efficiency.

These cover 80% of patterns used out there in professional software development.

  1. Strategy Pattern
  2. Observer Pattern
  3. Builder pattern
  4. Factory method pattern
  5. Template Method Pattern
  6. Singleton Pattern

The topics can be applied to pretty much any object oriented language. But, we’ll be using Java, so I expect you to be familiar with the basic language constructs such as classes, methods and interfaces. But don’t worry if you don’t know about these, I’ve taken the time to create 6 comprehensive prerequisite lessons on introduction to object orientation. In these lessons, new comers can learn about the basics of object orientation such as:

  1. Classes and objects
  2. Inheritance and polymorphism,
  3. Interfaces and abstract classes.
Table of Contents

1 How to make the most of this course
2 Download Source Code for Lectures

Introductory Principles in Object Orientation Optional Prerequisite
3 Class and Object Optional Prerequisite
4 Program Flow and Using Constructor Optional Prerequisite
5 Application Runtime Optional Prerequisite
6 Java Behind The Scenes
7 Class Inheritance Optional Prerequisite
8 Interfaces and Abstractions Optional Prerequisite
9 Abstract Classes Optional Prerequisite
10 Message From The Instructor

Object Oriented Design Principles SOLID
11 Objects Messages and Dependencies
12 Forming Associations Between Objects
13 Overview of Software Design
14 Single Responsibility Principle
15 UML Diagram – Single Responsibility
16 Single Responsibility – Homework
17 Open Closed Principle STRATEGY Pattern
18 Open Closed Principle – Homework
19 Dependency Inversion TEMPLATE Pattern
20 Dependency Inversion Template pattern – Homework Solution
21 UML Diagram – Dependency Inversion
22 Liskov Substitution Principle
23 Liskov Substitution Principle UML
24 Interface Segregation Principle
25 UML Diagram – Interface Segregation

Object Oriented Design Patterns in Practice
26 Dependency Injection Part 1
27 Dependency Injection Part 2 Using Spring
28 Observer Pattern
29 Observer Pattern – Homework Solution
30 UML Diagram – Observer Pattern
31 Coffee Shop Assignment another application of the observer pattern
32 Builder Pattern
33 Factory Design Pattern
34 UML Diagram – Factory Pattern
35 Singleton Design Pattern Newly Added
36 Real world Project – Create an API

Course Extras
37 Automatically generate UML diagrams from java code Tutorial
38 Final Comments from Instructor
39 Bonus Lecture Lifetime Access to All My Courses
40 1-on-1 Skype Session with Mr. Imtiaz Ahmad