SOLID Principles of Object-Oriented Design and Architecture
4.5 (871 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,564 students enrolled

SOLID Principles of Object-Oriented Design and Architecture

Master SOLID principles and embrace clean and maintainable software architecture
4.5 (871 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,564 students enrolled
Created by Vasiliy Zukanov
Last updated 2/2020
English
English
Current price: $139.99 Original price: $199.99 Discount: 30% off
23 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn the fundamental theory of SOLID principles
  • See the impact of each SOLID principle on the architecture of software systems
  • Understand the scope and the limitations of SOLID principles
  • Discover the benefits of abstractions in software development
  • Learn popular architectural patterns based on SOLID principles
  • Stay pragmatic and avoid over-engineering
Course content
Expand all 36 lectures 04:34:21
+ Single Responsibility Principle
8 lectures 54:34
Simplistic Definition
01:49
Definition Through Conjunction "AND"
03:45
Simple Example: AuthManager
08:18
Advanced Example: KaraokePlayer
15:14
Single Responsibility Principle Summary
05:26
+ Abstractions
3 lectures 23:40
Abstractions in Object-Oriented Design
06:12
Abstractions in This Course
07:55
+ Open Closed Principle
6 lectures 49:59
Historical Definition
04:37
Current Definition
05:26
Example: Salary Calculator
13:28
Example: Karaoke Application
16:20
Open Closed Principle Summary
06:01
+ Liskov Substitution Principle
8 lectures 01:04:47
Liskov Substitution Principle Rules
03:54
Method Signature Rules
14:48
Method Pre- and Post-Condition Rules
06:25
Class Property Rules
09:56
Example: Rectangle and Square
05:59
Liskov Substitution Principle Summary
07:14
+ Interface Segregation Principle
4 lectures 36:28
Definition
06:07
Example: Publish-Subscribe Architectural Pattern
14:02
Example: Big Callback Interface
10:51
Interface Segregation Principle Summary
05:28
+ Dependency Inversion Principle
5 lectures 32:58
Definition
07:16
Example: Open Closed Principle
02:41
Example: Callback
07:39
Example: Inter-Dependent Modules
11:37
Dependency Inversion Principle Summary
03:45
Requirements
  • Professional experience with at least one object-oriented language
Description

In this course you're going to master SOLID principles of object-oriented design and architecture. You'll understand each of these principles in details and learn to apply them in real-world software systems. You'll also learn the WHY of SOLID principles and understand what benefits you get out of them.

SOLID principles were distilled about 20 years ago, but the body of knowledge they incorporate is even older than that. These five principles embody at least 40 years of academic research and industry experience with software design and architecture. They constitute a universal framework which aims to achieve higher-quality software.

SOLID principles constitute strong foundation and provide actionable guidelines for writing clean and maintainable code. SOLID code is flexible, extensible and readable. Such code is much more pleasant to work with and constitutes a valid reason for professional pride.

In the past decades, SOLID principles became integral part of developers' vocabulary. They appear everywhere: from books and software conferences, to job interviews. And no wonder! SOLID principles enable efficient dialog about software design and architecture. They will guide you through the initial design proposal and will be very useful later during architectural reviews. Therefore, if you want to be able to speak the language of software developers, you need to understand SOLID principles.

All in all, if you're a professional software developer and use object-oriented language - this course is for you.

Who this course is for:
  • Developers who want to understand software architecture and write clean and maintainable applications