Skip to content
UdemyMobile DevelopmentPaid courseIntermediate levelCertificate

SOLID Principle - Dart / Flutter (Udemy.com)

Learn SOLID principle and be a better developer

Created by: Richard Dewan

Last updated June 2023

icon
What you will learn

  • SOLID Principle
  • Single Responsibility Principle (SRP)
  • Open-Close Principle (OCP)
  • Liskov substitution principle (LSP)
  • Interface segregation principle (ISP)
  • Dependency Inversion Principle (DIP)

How it compares

Against the other 149 rated Udemy courses in Mobile Development on CourseDuck:

  • Rating4.4 out of 5higher than 42% of them
  • Reviews90#105 of 150 by number of reviews
  • Length2 hoursshorter than 93% of them
  • Last updatedJune 2023earlier than 68% of them

icon
Course Description

SOLID is an acronym for the first five object-oriented design (OOD) principles by Robert C. Martin (also known as Uncle Bob)

These principles establish practices that lend to developing software with considerations for maintaining and extending as the project grows. Adopting these practices can also contribute to avoiding code smells, refactoring code, and Agile or Adaptive software development.

SOLID stands for:

  • S - Single-responsiblity Principle

  • O - Open-closed Principle

  • L - Liskov Substitution Principle

  • I - Interface Segregation Principle

  • D - Dependency Inversion Principle

In this course, you will be introduced to each principle individually to understand how SOLID can help make you a better developer.

Single-Responsibility Principle

Single-responsibility Principle (SRP) states:  class should have one and only one reason to change, meaning that a class should have only one job.


Open-Closed Principle

Open-closed Principle (OCP) states: Objects or entities should be open for extension but closed for modification.


Liskov Substitution Principle

Liskov Substitution Principle (LSP) states: Objects of a superclass should be replaceable with objects of its subclasses without breaking the application. In other words, what we want is to have the objects of our subclasses behaving the same way as the objects of our superclass

Interface segregation principle (ISP)

Interface segregation principle (ISP) states: No code should be forced to depend on method it does not use. ISP splits interfaces that are very large into smaller and more specific ones so that clients will only have to know about the methods that are of interest to them. Such shrunken interfaces are also called role interfaces.ISP is intended to keep a system decoupled and thus easier to refactor, change, and redeploy.


Dependency Inversion Principle

Dependency inversion principle states: Entities must depend on abstractions, not on concretions. It states that the high-level module must not depend on the low-level module, but they should depend on abstractions.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Richard Dewan

I have been working in IT industry  since  2009. Working on Microsoft product like Windows Server , Exchange Server, SharePoint , MS SQL Server. LAN & WAN , IT Security, ERP product like MS Dynamics AX . Android app development , Web application development. Building apps with  C#, Java, PHP, Python, Java ,Kotlin

Through Udemy i want to share my knowledge and experience with others and want to become a better teacher , instructor , leader and a person. I will say never stop learning and does not matter if you are a teacher , instructor  or student we all grow by learning new things every day.

icon
More courses by Richard Dewan

$13.99

Free

icon
More Mobile Development courses

$19.99

$74.99

$74.99

$39.99

$19.99

$84.99

icon
Reviews

4.4

90 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Fred on 3/27/2025

No Flutter at all and basic coding using a little bit of Dart.

By Ahmad Dzaky Abrori on 12/13/2023

It was good, but the example is too basic. You can add a big / final project so students can implement correctly in the real world cases.

By Robert Alves de Santana on 9/23/2023

first lesson was already worth the registration

By Vijay Balaji N on 7/16/2023

Nice course. Thank You bro

By Larbi Errechydy on 7/7/2023

Great course, i recommend it for everyone who wants to takes his skills to the next level.

By Aravindhan on 3/22/2023

It was very useful. Able to understand the Solid concepts.

By Ivan Torres on 1/23/2023

The course is good, the audio could be better.

By Jesus Porras on 1/23/2023

explica muy bien y con buenos y sencillos ejemplos

By Gabriel Villavicencio Herrera on 1/10/2023

I undestand principle that it's the important thing, thanks.

By Ibrahim Alqayyas on 12/28/2022

Bro, u r great, I wish all the instructors take inspiration from your technique. I just have one problem .. why in the dependency inversion u used abstraction between high-level classes themselves.. the principle is talking about decoupling of low and high with the abstraction, not the high and high. Please correct me if I am wrong because I am confused right now. ThanQ :) :)

Showing all 10 reviews on CourseDuck

Read all 90 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 88 / 100