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.
@anandpatel35807 ай бұрын
Very well said
@kishanbhuta12296 ай бұрын
So you mean learning all these SOLID principles will amount to nothing? :( In bigger projects they are useless?
@manfredkernMK6 ай бұрын
@@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."
@abinashkarki52379 ай бұрын
Bro is the messiah for the Flutter Developers.
@jonathanlance21664 күн бұрын
Good use of everyday anologies to explain the SOLID concept.
@RivaanRanawat2 күн бұрын
Glad the analogies helped!
@wraith31089 ай бұрын
6 minutes into the video and I am really liking it Keep it up dude and, keep on Making flutter app
@TheNightValley9 ай бұрын
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
@sunjowilliammburli38479 ай бұрын
I wish @rivaan would consider that
@tanishbajaj49527 ай бұрын
what is flutter localization?
@RashidKhan-kd9xl7 ай бұрын
@@tanishbajaj4952it's Google map side of things ..bro
@randomstories19964 ай бұрын
@@tanishbajaj4952different languages for instance Spanish & English in one app. User can swap between these two languages within the app. Hope that helps.
@murshidm6 ай бұрын
This guy can explain Rocket science to me and i will understand. 🙏
@yasserhy5 ай бұрын
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
@RivaanRanawat5 ай бұрын
Sure
@kianooshsafapour39269 ай бұрын
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
@fernandezjasper9 ай бұрын
Looking forward to the next video!
@parameshmamidisetti81679 ай бұрын
Please Make more videos like this. This video is very knowledgeable 😮 thanks a lot ❤
@leoe.r.73389 ай бұрын
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.
@seamensclubaihub9 ай бұрын
Cool! Thanks! You are the best of the best!
@akashmurugesh35096 ай бұрын
Nicely said my brother. Clear as a crystal. Thanks
@RivaanRanawat6 ай бұрын
Most welcome!
@manishgautam24249 ай бұрын
Superb videos and main think in free , Thank You So Much , Keep it Up
@RivaanRanawat8 ай бұрын
My pleasure!
@devkumar98899 ай бұрын
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
@holy49088 ай бұрын
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-iw6fd8 ай бұрын
a pretty good video buddy thank you for your valuable time
@Programmer-je4by9 ай бұрын
i thought about you 10 mins before and your video came :)
@cromuelbarut98596 ай бұрын
well explained, keep up the good work
@RivaanRanawat5 ай бұрын
Thanks!
@farz36709 ай бұрын
Great vid as always
@CodeWithMaya079 ай бұрын
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…
@pranaycc9 ай бұрын
Sir can you complete the design patterns series
@pravinprince32218 ай бұрын
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
@pranaycc9 ай бұрын
Really needed this
@devkumar98899 ай бұрын
Itni depth me oops to aj tak nai seekha
@antongrekov77109 ай бұрын
hot success
@abhishekmirajkar032 ай бұрын
Too Good, Thank You :)
@gurparvesh387 ай бұрын
Thank you for great explanation :)
@RivaanRanawat6 ай бұрын
Glad it was helpful!
@thanyaniinnocent9405 ай бұрын
Appriciate it a lot 🙏
@urm1n9 ай бұрын
Can you make video on flutter app with remote and local database like firebase and hive and sync them
@kennethmuriungi9 ай бұрын
Bro,make a video on how to install Vs code,flutter SDK and Android studio on Kali Linux please
@DK-ym9zv9 ай бұрын
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_whatch9 ай бұрын
bloc clean architecture video please 🙏 😢
8 ай бұрын
there's one already on the channel
@hokitamoАй бұрын
👏👏👏
@0x-adios6 ай бұрын
Great
@chitrarajkpaul82238 ай бұрын
Please do a video on admob in flutter and create real ads in our app
@sidhu-patil7 ай бұрын
🎉🎉
@rishh4 ай бұрын
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 ?
@TikTokTrendsCompilation9 ай бұрын
yeah try explaining this to nextjs developers 🤣🤣🤣
@marlonsubuyu20126 ай бұрын
Amazing!!!
@RivaanRanawat6 ай бұрын
Thanks!
@abhinavkprajapati9 ай бұрын
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
@Zyzzbruh9 ай бұрын
w vide , make a clean architecture vid fast ?
@randomcsguy20659 ай бұрын
👑👑👑
@manavpatel7879 ай бұрын
Please make a video on how to make a full stack binance clone
@vikashtiwari83609 ай бұрын
Please bring uber clone
@vivekrahul9 ай бұрын
First comment❤
@vipe76396 ай бұрын
19:21 The developer only needs to work 🥲🥲🥲
@iznasen4 ай бұрын
@RivaanRanawat Bro I left you a connect request on Linkedin. Looking forward to collaborate!
@CodeWithMaya079 ай бұрын
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…