The First Step To Clean Architecture | Flutter SOLID Principles

  Рет қаралды 15,816

Rivaan Ranawat

Rivaan Ranawat

Күн бұрын

Пікірлер: 62
@manfredkernMK
@manfredkernMK 6 ай бұрын
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 4 ай бұрын
Very well said
@kishanbhuta1229
@kishanbhuta1229 3 ай бұрын
So you mean learning all these SOLID principles will amount to nothing? :( In bigger projects they are useless?
@manfredkernMK
@manfredkernMK 3 ай бұрын
@@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 6 ай бұрын
Bro is the messiah for the Flutter Developers.
@TheNightValley
@TheNightValley 6 ай бұрын
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 5 ай бұрын
I wish @rivaan would consider that
@tanishbajaj4952
@tanishbajaj4952 4 ай бұрын
what is flutter localization?
@RashidKhan-kd9xl
@RashidKhan-kd9xl 4 ай бұрын
​@@tanishbajaj4952it's Google map side of things ..bro
@saadahmed5890
@saadahmed5890 Ай бұрын
@@tanishbajaj4952different languages for instance Spanish & English in one app. User can swap between these two languages within the app. Hope that helps.
@seamensclubltd7603
@seamensclubltd7603 6 ай бұрын
Cool! Thanks! You are the best of the best!
@akashmurugesh3509
@akashmurugesh3509 3 ай бұрын
Nicely said my brother. Clear as a crystal. Thanks
@RivaanRanawat
@RivaanRanawat 3 ай бұрын
Most welcome!
@yasserhy
@yasserhy 2 ай бұрын
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 2 ай бұрын
Sure
@wraith3108
@wraith3108 6 ай бұрын
6 minutes into the video and I am really liking it Keep it up dude and, keep on Making flutter app
@murshidm
@murshidm 3 ай бұрын
This guy can explain Rocket science to me and i will understand. 🙏
@leoe.r.7338
@leoe.r.7338 6 ай бұрын
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.
@fernandezjasper
@fernandezjasper 6 ай бұрын
Looking forward to the next video!
@parameshmamidisetti8167
@parameshmamidisetti8167 6 ай бұрын
Please Make more videos like this. This video is very knowledgeable 😮 thanks a lot ❤
@kianooshsafapour3926
@kianooshsafapour3926 5 ай бұрын
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
@manishgautam2424
@manishgautam2424 5 ай бұрын
Superb videos and main think in free , Thank You So Much , Keep it Up
@RivaanRanawat
@RivaanRanawat 5 ай бұрын
My pleasure!
@farz3670
@farz3670 6 ай бұрын
Great vid as always
@javacodegym
@javacodegym 6 ай бұрын
Really needed this
@marlonsubuyu2012
@marlonsubuyu2012 3 ай бұрын
Amazing!!!
@RivaanRanawat
@RivaanRanawat 3 ай бұрын
Thanks!
@from_whatch
@from_whatch 6 ай бұрын
bloc clean architecture video please 🙏 😢
5 ай бұрын
there's one already on the channel
@thanyaniinnocent940
@thanyaniinnocent940 2 ай бұрын
Appriciate it a lot 🙏
@devkumar9889
@devkumar9889 5 ай бұрын
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 5 ай бұрын
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 5 ай бұрын
a pretty good video buddy thank you for your valuable time
@cromuelbarut9859
@cromuelbarut9859 2 ай бұрын
well explained, keep up the good work
@RivaanRanawat
@RivaanRanawat 2 ай бұрын
Thanks!
@Programmer-je4by
@Programmer-je4by 6 ай бұрын
i thought about you 10 mins before and your video came :)
@TikTokTrendsCompilation
@TikTokTrendsCompilation 6 ай бұрын
yeah try explaining this to nextjs developers 🤣🤣🤣
@gurparvesh38
@gurparvesh38 4 ай бұрын
Thank you for great explanation :)
@RivaanRanawat
@RivaanRanawat 3 ай бұрын
Glad it was helpful!
@0x-adios
@0x-adios 3 ай бұрын
Great
@pravinprince3221
@pravinprince3221 5 ай бұрын
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
@antongrekov7710
@antongrekov7710 6 ай бұрын
hot success
@CodeWithMaya07
@CodeWithMaya07 6 ай бұрын
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…
@chitrarajkpaul8223
@chitrarajkpaul8223 5 ай бұрын
Please do a video on admob in flutter and create real ads in our app
@DK-ym9zv
@DK-ym9zv 6 ай бұрын
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
@javacodegym
@javacodegym 6 ай бұрын
Sir can you complete the design patterns series
@rishh
@rishh Ай бұрын
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 ?
@sidhu-patil
@sidhu-patil 4 ай бұрын
🎉🎉
@kennethmuriungi
@kennethmuriungi 6 ай бұрын
Bro,make a video on how to install Vs code,flutter SDK and Android studio on Kali Linux please
@devkumar9889
@devkumar9889 5 ай бұрын
Itni depth me oops to aj tak nai seekha
@urm1n
@urm1n 6 ай бұрын
Can you make video on flutter app with remote and local database like firebase and hive and sync them
@Zyzzbruh
@Zyzzbruh 6 ай бұрын
w vide , make a clean architecture vid fast ?
@abhinavkprajapati
@abhinavkprajapati 6 ай бұрын
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
@manavpatel787
@manavpatel787 6 ай бұрын
Please make a video on how to make a full stack binance clone
@vikashtiwari8360
@vikashtiwari8360 6 ай бұрын
Please bring uber clone
@randomcsguy2065
@randomcsguy2065 6 ай бұрын
👑👑👑
@vivekrahul
@vivekrahul 6 ай бұрын
First comment❤
@vipe7639
@vipe7639 3 ай бұрын
19:21 The developer only needs to work 🥲🥲🥲
@iznasen
@iznasen Ай бұрын
@RivaanRanawat Bro I left you a connect request on Linkedin. Looking forward to collaborate!
@CodeWithMaya07
@CodeWithMaya07 6 ай бұрын
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
Akshit Madan
Рет қаралды 4,5 М.
This is the Only Right Way to Write React clean-code - SOLID
18:23
Lehanga 🤣 #comedy #funny
00:31
Micky Makeover
Рет қаралды 29 МЛН
Look at two different videos 😁 @karina-kola
00:11
Andrey Grechka
Рет қаралды 14 МЛН
Logo Matching Challenge with Alfredo Larin Family! 👍
00:36
BigSchool
Рет қаралды 20 МЛН
How principled coders outperform the competition
11:11
Coderized
Рет қаралды 1,6 МЛН
Flutter Unit Testing Tutorial For Beginners - Practical Guide
1:06:54
Rivaan Ranawat
Рет қаралды 33 М.
Every Programming Language Ever Explained in 15 Minutes
15:29
Flash Bytes
Рет қаралды 316 М.
SOLID Principles: Do You Really Understand Them?
7:04
Alex Hyett
Рет қаралды 159 М.
Master Golang with Interfaces
21:54
Kantan Coding
Рет қаралды 11 М.
React Clean Code: Advanced Examples of SOLID Principles
28:03
Flutter Clean Architecture Visual Explanation
6:15
Flutter Mapp
Рет қаралды 27 М.
Generics: The most intimidating TypeScript feature
18:19
Matt Pocock
Рет қаралды 171 М.
Flutter Animations Tutorial For Beginners
2:48:07
Rivaan Ranawat
Рет қаралды 33 М.
Switch IS NOT FASTER than if, (in C++)
11:39
Low Level Game Dev
Рет қаралды 33 М.
Lehanga 🤣 #comedy #funny
00:31
Micky Makeover
Рет қаралды 29 МЛН