Solid Principles Object Oriented Design Architecture

Master SOLID principles and deep dive into advanced topics in software architecture

Last updated 2022-01-10 | 4.7

- Gain deep understanding of SOLID principles
- Understand the scope of SOLID principles
- Adopt the best practices of object-oriented software design and architecture

What you'll learn

Gain deep understanding of SOLID principles
Understand the scope of SOLID principles
Adopt the best practices of object-oriented software design and architecture
Learn from examples of clean architecture and SOLID code

* Requirements

* Experience with any object-oriented programming language

Description

In this course you'll master SOLID principles - a set of guidelines for designing clean and maintainable software systems. By learning SOLID principles, you'll gain a deeper understanding into the magnificent world of software architecture.

SOLID principles embody more than 40 years of academic research and industry experience, distilled by several generations of software developers. Therefore, by mastering SOLID principles, you learn universal, time-proven tools for delivering high-quality software to your users.

SOLID is an acronym that stands for five principles:

  • Single Responsibility Principle

  • Open Closed Principle

  • Liskov Substitution Principle

  • Interface Segregation Principle

  • Dependency Inversion Principle

In this course, you will learn SOLID principles in detail and understand their importance. You will discover how SOLID principles make your code flexible, extensible and readable. Eventually, you will discover that SOLID code is simply a joy to work with!

In addition to in-depth discussion of software architecture and SOLID, I will also share many interesting historical facts about the people behind these principles. This short historical detour will allow you to see the bigger picture and will make the course more colorful and interesting.

The topics covered in this course are complex, but important to learn. It's not an overstatement to say that understanding SOLID principles will give you a new level of insight into software architecture and object-oriented programming in general.

So, if you're a professional developer and you're serious about clean and maintainable code, this course is for you!

Who this course is for:

  • Developers who want to improve their software architecture skills

Course content

8 sections • 38 lectures

History of SOLID Preview 06:03

Explanation of Udemy System Preview 01:53

Simplistic Definition Preview 01:49

Definition Through Conjunction "AND" Preview 03:45

Practical Definition Through Change Preview 03:57

Simple Example: Employee Preview 10:16

Simple Example: AuthManager Preview 08:18

Advanced Example: KaraokePlayer Preview 15:14

Single Responsibility and Reusability Preview 05:49

Single Responsibility Principle Summary Preview 05:26

Abstractions in Digital World Preview 09:33

Abstractions in Object-Oriented Design Preview 06:12

Abstractions in This Course Preview 07:55

Open Closed Confusion Preview 04:07

Historical Definition Preview 04:37

Current Definition Preview 05:26

Example: Salary Calculator Preview 13:28

Example: Karaoke Application Preview 16:20

Open Closed Principle Summary Preview 06:01

Intuitive Example: Rectangle and Square Preview 08:18

Definition and History Preview 08:13

Liskov Substitution Principle Rules Preview 03:54

Method Signature Rules Preview 14:48

Method Pre- and Post-Condition Rules Preview 06:25

Class Property Rules Preview 09:56

Example: Rectangle and Square Preview 05:59

Liskov Substitution Principle Summary Preview 07:14

Definition Preview 06:07

Example: Publish-Subscribe Architectural Pattern Preview 14:02

Example: Big Callback Interface Preview 10:51

Interface Segregation Principle Summary Preview 05:28

Definition Preview 07:16

Example: Open Closed Principle Preview 02:41

Example: Callback Preview 07:39

Example: Inter-Dependent Modules Preview 11:37

Dependency Inversion Principle Summary Preview 03:45