The First Step To Clean Architecture | Flutter SOLID Principles

preview_player
Показать описание
Dive deep into the SOLID Principles and understand how to convert your code from spaghetti to something other engineers can contribute to! We'll be using Dart(Flutter) to demonstrate the code examples however this video is independent of any programming language.

Timestamps:
(00:00:00) Introduction
(00:01:00) S
(00:05:34) O
(00:13:11) L
(00:18:07) I
(00:22:54) D

Connect With Me Here:
Рекомендации по теме
Комментарии
Автор

I watched some videos now - and they are all fantastic. Also this one.

But here are some thoughts from C++ / C# projects I know - and I mean really big ones - not toys like the n-th ToDo-App.
There is always a need to find compromises. Every now and then new terms and ideas are introduced for very, very old principals.

E.g. the Solid-Principle: Tearing UserManager class apart into 2 pieces for Authentication and Profile-Management looks good. But are they really independent? Neither one can live without the other because they belong both to user management.
So I need to define an additional interface or class to tie them together, because they belong together. And if one change, I have to change it anyway in one of the classes. No time saved, no additional benefit.

Also very often, there is a need that an inherited class needs to be extended by additional functionality. This is one essence of OOP.

And very often additional abstractions just shifts the complexity to somewhere else e.g. leading to many more files, ...

So what I would like to say. Don't follow blindly all the theoretical approaches and check if they really make life easier. Consider possible changes of project requirements in the near and midterm future. Ignore abstractions only for the sake of abstractions. Big projects have experienced architects anyway.

Anyway as I mentioned in the very first sentence. I like your videos very much and I am looking forward to the next one.

manfredkernMK
Автор

Bro is the messiah for the Flutter Developers.

abinashkarki
Автор

Cool! Thanks! You are the best of the best!

seamensclubaihub
Автор

Rivaan is absolutely a genius. You have made great tutorials so far over years, but there are certain things I wish you could make some tutorials on, as I haven't seen any better tutorials on that
1) flutter Localization
2) flutter offline apps with backing up data with something like Google drive

TheNightValley
Автор

6 minutes into the video and I am really liking it

Keep it up dude and, keep on Making flutter app

wraith
Автор

Nicely said my brother. Clear as a crystal. Thanks

akashmurugesh
Автор

Great video!! Had a couple of more videos about SOLID on my list to watch and after this one I removed most of them. Also really like the memes and Tom&Jerry intro. Lol.

leoe.r.
Автор

Like always video describes the principle easy to understand. thanks for the video. I suggest using background music (with very low volume) to improve the videos <3

kianooshsafapour
Автор

Please Make more videos like this. This video is very knowledgeable 😮 thanks a lot ❤

parameshmamidisetti
Автор

Superb videos and main think in free, Thank You So Much, Keep it Up

manishgautam
Автор

I love your tutorials. I think it is easier for everyone if you use the "I" in the name of the interface so it will not be confusing. Similar to what we do in C#. Example: Shape interface => IShape

yasserhy
Автор

This guy can explain Rocket science to me and i will understand. 🙏

murshidm
Автор

a pretty good video buddy thank you for your valuable time

entertainment-iwfd
Автор

well explained, keep up the good work

cromuelbarut
Автор

i thought about you 10 mins before and your video came :)

Programmer-jeby
Автор

Rivaan can you guide flutter projects where to start… like which project has to start first second and so on… I’m confused which project to start first…

CodeWithMaya
Автор

Here are my understandings :
S : Single Responsibility = Make your class such that it only performs single Independent task. Like Authenticating user && Generating tokens are 2 different classes
O : Open to Extension Close to Modification = You don't want to make hole and spread wires to get new electrical device. You already provide holes for wires while construction similarly you write code such that you can extend features without modifying code.
L : 😢
I : Try to break Interfaces into smaller independent units
D : Dependency Inversions = You have a class where you write functions to authenticate user and save user to db using 3rd party libraries so just write their methods separately outside class and get their results in that class this way if you need to change something in future you just need to modify that specific part. Basically u just reduced dependcy to 3rd party libraries

devkumar
Автор

So basically in Liscov's Substitution method Parent Class or Super class should not contain initial data right ?
I mean otherwise it would break that rule right ?

rishh
Автор

thank you bro for the wonderful video bro it is so helpful for me and my team, thanks again bro
one request bro
can you do videos on bloc concurrency
and transformers used bro

pravinprince
Автор

which plugin do you use to print out debug messages on vs code in flutter. I have seen your virtual assistant application video but i am not getting the same messages printed in debug console as you please help me

abhinavkprajapati