The First Step To Clean Architecture | Flutter SOLID Principles

  Рет қаралды 19,648

Rivaan Ranawat

Rivaan Ranawat

Күн бұрын

Пікірлер: 66
@manfredkernMK
@manfredkernMK 9 ай бұрын
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.
@anandpatel3580
@anandpatel3580 7 ай бұрын
Very well said
@kishanbhuta1229
@kishanbhuta1229 6 ай бұрын
So you mean learning all these SOLID principles will amount to nothing? :( In bigger projects they are useless?
@manfredkernMK
@manfredkernMK 6 ай бұрын
@@kishanbhuta1229No, that's a misunderstanding. Clean architecture and SOLID principles are not new. Separation between presentation, logic and data is also very old, to have the possibility to swap parts. So you surely apply these principles in your project in one way or the other depending of the modules / parts / libraries in your application. In C++ it is very common to factor out parts of your application into libs. In Dart these will be packages. Please think about how you will handle nested data structures (simple example above)? You can do it full blown with models, entities and mappings for the nested data structures. Is it worth to have these many classes, polluting your directory structure. Yes, if in the short-/midterm these will change (maybe the requirements are still not settled). Very often you shift problems. Your class looks "clean", but your directory structure is cluttered. A lot of architectural patterns are hyped at a certain time. Think of TDD, DDD, MVVM, MVC, MVP, prototyping, agile development, ..., object oriented, functional, ... If you benefit from theses principles --> do it., If not, just don't. And be careful if someone just says, it looks "cleaner". In real business projects, you have so many drivers, especially money and time. So, the job of a software architect is to balance between application architecture and the business needs. Just ro repeat myself: "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."
@abinashkarki5237
@abinashkarki5237 9 ай бұрын
Bro is the messiah for the Flutter Developers.
@jonathanlance2166
@jonathanlance2166 4 күн бұрын
Good use of everyday anologies to explain the SOLID concept.
@RivaanRanawat
@RivaanRanawat 2 күн бұрын
Glad the analogies helped!
@wraith3108
@wraith3108 9 ай бұрын
6 minutes into the video and I am really liking it Keep it up dude and, keep on Making flutter app
@TheNightValley
@TheNightValley 9 ай бұрын
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
@sunjowilliammburli3847
@sunjowilliammburli3847 9 ай бұрын
I wish @rivaan would consider that
@tanishbajaj4952
@tanishbajaj4952 7 ай бұрын
what is flutter localization?
@RashidKhan-kd9xl
@RashidKhan-kd9xl 7 ай бұрын
​@@tanishbajaj4952it's Google map side of things ..bro
@randomstories1996
@randomstories1996 4 ай бұрын
@@tanishbajaj4952different languages for instance Spanish & English in one app. User can swap between these two languages within the app. Hope that helps.
@murshidm
@murshidm 6 ай бұрын
This guy can explain Rocket science to me and i will understand. 🙏
@yasserhy
@yasserhy 5 ай бұрын
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
@RivaanRanawat
@RivaanRanawat 5 ай бұрын
Sure
@kianooshsafapour3926
@kianooshsafapour3926 9 ай бұрын
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
@fernandezjasper
@fernandezjasper 9 ай бұрын
Looking forward to the next video!
@parameshmamidisetti8167
@parameshmamidisetti8167 9 ай бұрын
Please Make more videos like this. This video is very knowledgeable 😮 thanks a lot ❤
@leoe.r.7338
@leoe.r.7338 9 ай бұрын
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.
@seamensclubaihub
@seamensclubaihub 9 ай бұрын
Cool! Thanks! You are the best of the best!
@akashmurugesh3509
@akashmurugesh3509 6 ай бұрын
Nicely said my brother. Clear as a crystal. Thanks
@RivaanRanawat
@RivaanRanawat 6 ай бұрын
Most welcome!
@manishgautam2424
@manishgautam2424 9 ай бұрын
Superb videos and main think in free , Thank You So Much , Keep it Up
@RivaanRanawat
@RivaanRanawat 8 ай бұрын
My pleasure!
@devkumar9889
@devkumar9889 9 ай бұрын
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
@holy4908
@holy4908 8 ай бұрын
Liskov's principle of substitution is that subclasses can serve as replacements for their superclasses and the operation of the program should not change. For example, if our superclass has something like three methods, and for one of its children we don't want to implement one of them (methods), then we should rethink the logic of the superclass by removing the method that is not used in all subclasses and implement a new method in the subclass where necessary without violating the integrity of the parent superclass. In which case we can now substitute subclass and superclass types between each other, and L principle will be respected.
@entertainment-iw6fd
@entertainment-iw6fd 8 ай бұрын
a pretty good video buddy thank you for your valuable time
@Programmer-je4by
@Programmer-je4by 9 ай бұрын
i thought about you 10 mins before and your video came :)
@cromuelbarut9859
@cromuelbarut9859 6 ай бұрын
well explained, keep up the good work
@RivaanRanawat
@RivaanRanawat 5 ай бұрын
Thanks!
@farz3670
@farz3670 9 ай бұрын
Great vid as always
@CodeWithMaya07
@CodeWithMaya07 9 ай бұрын
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…
@pranaycc
@pranaycc 9 ай бұрын
Sir can you complete the design patterns series
@pravinprince3221
@pravinprince3221 8 ай бұрын
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
@pranaycc
@pranaycc 9 ай бұрын
Really needed this
@devkumar9889
@devkumar9889 9 ай бұрын
Itni depth me oops to aj tak nai seekha
@antongrekov7710
@antongrekov7710 9 ай бұрын
hot success
@abhishekmirajkar03
@abhishekmirajkar03 2 ай бұрын
Too Good, Thank You :)
@gurparvesh38
@gurparvesh38 7 ай бұрын
Thank you for great explanation :)
@RivaanRanawat
@RivaanRanawat 6 ай бұрын
Glad it was helpful!
@thanyaniinnocent940
@thanyaniinnocent940 5 ай бұрын
Appriciate it a lot 🙏
@urm1n
@urm1n 9 ай бұрын
Can you make video on flutter app with remote and local database like firebase and hive and sync them
@kennethmuriungi
@kennethmuriungi 9 ай бұрын
Bro,make a video on how to install Vs code,flutter SDK and Android studio on Kali Linux please
@DK-ym9zv
@DK-ym9zv 9 ай бұрын
I mean do we really need this? SOLID looks like new devs nightmare. It will be way more difficult to understand the codebase when joining a project
@from_whatch
@from_whatch 9 ай бұрын
bloc clean architecture video please 🙏 😢
8 ай бұрын
there's one already on the channel
@hokitamo
@hokitamo Ай бұрын
👏👏👏
@0x-adios
@0x-adios 6 ай бұрын
Great
@chitrarajkpaul8223
@chitrarajkpaul8223 8 ай бұрын
Please do a video on admob in flutter and create real ads in our app
@sidhu-patil
@sidhu-patil 7 ай бұрын
🎉🎉
@rishh
@rishh 4 ай бұрын
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 ?
@TikTokTrendsCompilation
@TikTokTrendsCompilation 9 ай бұрын
yeah try explaining this to nextjs developers 🤣🤣🤣
@marlonsubuyu2012
@marlonsubuyu2012 6 ай бұрын
Amazing!!!
@RivaanRanawat
@RivaanRanawat 6 ай бұрын
Thanks!
@abhinavkprajapati
@abhinavkprajapati 9 ай бұрын
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
@Zyzzbruh
@Zyzzbruh 9 ай бұрын
w vide , make a clean architecture vid fast ?
@randomcsguy2065
@randomcsguy2065 9 ай бұрын
👑👑👑
@manavpatel787
@manavpatel787 9 ай бұрын
Please make a video on how to make a full stack binance clone
@vikashtiwari8360
@vikashtiwari8360 9 ай бұрын
Please bring uber clone
@vivekrahul
@vivekrahul 9 ай бұрын
First comment❤
@vipe7639
@vipe7639 6 ай бұрын
19:21 The developer only needs to work 🥲🥲🥲
@iznasen
@iznasen 4 ай бұрын
@RivaanRanawat Bro I left you a connect request on Linkedin. Looking forward to collaborate!
@CodeWithMaya07
@CodeWithMaya07 9 ай бұрын
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…
You are a NOOB Developer without SOLID Principles Knowledge!
35:03
10x Your Speed With Flutter
8:04
Flutter Mapp
Рет қаралды 70 М.
HELP!!!
00:46
Natan por Aí
Рет қаралды 76 МЛН
МЕНЯ УКУСИЛ ПАУК #shorts
00:23
Паша Осадчий
Рет қаралды 4,8 МЛН
Ep.1 - Factory Method Pattern | Flutter Design Patterns
24:41
Rivaan Ranawat
Рет қаралды 23 М.
Flutter Clean Architecture
19:58
HeyFlutter․com
Рет қаралды 26 М.
Kotlin Multiplatform vs Flutter: Which should we use?
4:42
Kei Fujikawa
Рет қаралды 26 М.
Flutter Unit Testing Tutorial For Beginners - Practical Guide
1:06:54
Rivaan Ranawat
Рет қаралды 38 М.
SOLID principles in Dart - Every PRO Coder Follows This!
4:36
Flutter Guys
Рет қаралды 11 М.
Top 35 Flutter Widgets
29:29
Flutter Mapp
Рет қаралды 331 М.
Flutter Clean Architecture Visual Explanation
6:15
Flutter Mapp
Рет қаралды 31 М.
HELP!!!
00:46
Natan por Aí
Рет қаралды 76 МЛН