There are loads of people teaching you each individual "gang of 4 patterns" on youtube. you can look each one up individually, and find series after series going over them all. but i paid good, hard earned money for mosh's course. the reason why is right here in this video. if you want to really absorb this material, you need a teacher who will challenge you to open your mind and tackle the problem. everyone else just says "here's the answer". we don't need that. buy a book if you want that. if you want a teacher? a real lesson? a real class? start here. start with mosh. thank you mosh. timeless material... and yes, to anyone wondering, you can download and save each video. you will own a hard copy of the material, to sit next to your hard copy of the g.o.4. reference book. kudos.
Liked + subscribed + got notifications + save to my daily notes + save to Habitica app + saved to Trello website + wrote ur name on my room wall Ohhh now I feel better, I will not miss nothing from this channel ❤️
I wish you had said at the beginning that this is the first video in a larger paid course. It took me a while to realize the video wouldn't actually be a 1-hour overview "course" of design patterns. I definitely felt misled by the title and thumbnail as someone searching for design pattern videos on RU-vid. At the very end, you say you mentioned it earlier, but I didn't catch that anywhere at the beginning. 🤔
I feel scammed too... The video was very good, but I was expecting the full content about design Patterns to be in this video, not a PAID course. Did you paid the full course? I don't know if it's worth it for me to do it (just graduated from College with a Software Development AAS degree). I want to learn design patterns but usually tend to use free content online. Please anyone feel free to share your opinions on this comment!
@@danielguzmanramirez2281I’ve been studying from Mosh course’s about 4/5 yrs. And I can garantee you it’s worthy every single course I made from code with Mosh!
@@diManjenje88 Is understandable. I didn't know about him before. I watched the whole video and ended up paying for his Ultimate Design Patterns Course. His content is genuinely the best and most clear I found on the Internet. I still think he should clarify at the beginning that this is part of a paid course tho.
This is the best explanation of the OOPs principle, I felt like I've known nothing before. I've watched at least 20 videos on OOPs, none has explained it so well. Great content!
I'm only 9:52 in and I can already tell I'm going down the rabbit hole watching your videos. Great job! Love it! I already know this stuff to a certain degree, from using it all the time, but am trying to clean up my explanations in interviews and presentations and your video is clear and concise. Very nice job! Helps me think about the topics in really clear ways.
Mosh! You are the hero! No, you are the super hero! Mosh for president! I just can't put all of my gratitude in this words. Thank you for all your support on my path!
This is great. I can't imagine the amount of work it took to make this video. All the editing, recording, making sure things are right and all for 80 minutes of continuous teaching. Great job man. I want to pay you some money and there is an option to pay directly on youtube for perks. Why don't you use that one ?
Am new in programming. I didn't know where to start. I watched many videos about python but I always got lost. But as soon as I watched your teaching, my God! am so happy I understand what you are saying. #you are a God sent Mosh. Thanks a million.
Just started this course but am very impressed so far. I just graduated with a diploma in computer programming but never really grokked design patterns. Thanks for all your work! I will be purchasing the full program.
100 bar shukria 100 bar shukria... hundred baar shukria... million bar shukria... tum jese ache logo ko sahara hai bhalo logo... ye dil tumhare pyar ka mara hai bhalo logo
Excellent! Despite not understanding too much English and not programming in Java, I can tell you that you have been very explanatory and very helpful! keep going! Regards!
Hi , Mosh, I learnt the React Native 2 years ago, your class is somehow clear and help me a lot . About this course, it gradually teaches me from fundamental to pattern design, its very friendly to absorb the knowledge, thanks a lot
I've been coding for 6 months and never used interfaces but learned (I thaught I had learnt them). I've done more than 20 projects to improve my coding skills and I think if I knew interfaces properly, I wouldn't have done a lot of coding repeating. I love them and I will use them ! Thank you
This was a fantastic lesson, Mosh. I'm a QA, but I'm always trying to understand the systems I'm working with better, and I was able to follow along - even with the more complex ideas - in a way I can't always do with other teachers. Thanks so much. Also, I hope your fans here in the comments call themselves The Mosh Pit. 🤘
This is the first time in my life I was VOCALLY answering to a video content while watching it. So much value, made me feel I was in a class (no pun intended). Thank you !!!!
Hi Mosh, really it's very fantastic video on design pattern, before that I just know only design patterns definition but now I have understood clear picture of design patterns the way you provide examples its key point and really good understanding, Thank you so much it's really help me a lot, please also upload other patterns. Thank you very much my guru.
Mosh you're absolutely the best! I'm not a native speaker, and your MVC course helps me to improve both programming skills and English. Moreover, I haven't found as useful and handily examples as you show
Hey Mosh, I started learning programming with your tutorials on JavaScript, I really enjoyed most of the things you taught me. Well, sir, I understand what you are taught here but I would like you to please do this same thing with JavaScript like you did with Java
Hey fellow JS developer. Was lookign for someone ask this question. It seems like Data Structures and Algorithms or this course are really for those big languages.
Every bit of information is sorted in such away that anybody who doesn't know OOP Principles or ULM notation will understand it. You are doing great. Keep Going👍 . By the way, if you watch this video and you don 't understand Java notation "+" , "#" , "~" or "-". It's normal but it is easy to understand. So, "+" means "public" , "#" means protected , "~" means package which you are using and "-" means private. That's all. Everyone has a nice day 😉 Bye.
@@programmingwithmosh Hey Mosh, at 54:17 u have not pushed the editor state with c, but how is the pop logic working as expected. Pushing c to the history is required right ?
i'm new to this Design Patterns and after watching this tutorial ... it seems like i knew it all ^_^ i will plan to enroll his course because this is very comprehensible! ^_^
Thank you so much for helping me get ready for the interview. Promise if I get the job and get cash I will be more than honored to support your awesome work.
No words bro, Excellent !!!! and THANK You from the bottom of my heart for keeping these treasures online for FREE .. I had used ur Python course in 2020 and could use that knowledge in my project.. Now design patters. Only thing I can say , you are the best in both of this (Cause I have been searching a lot and met with many online instructor) .
Hi Mosh, Please create course for System Design. That will be helpful for many experienced developers. I am using your course(Data structures & algorithms and Design patterns) for my interview preparation. But I am missing system design course. I have seen few other tutorials. But you explain things better than anyone.
Hi Sir ..just wanna say thank you for your courses i learnt many things from you....even now a days ( in Quarantine) i spend most of the time in my day in front of you ... a great respect and love for you my Teacher...
Hi. I have been like "what is an abstract class? Where can i find an understandable info?" and met this channel. Then found Mr.Hamedani on udemy =) win-win Thank you for the simple explanation.
Programming with Mosh you are actually amazing no words your videos are very close for preparing interviews too I did👌 Seriously you’re there for dumb dumbs like us
I'm looking for good design pattern course. I looked for your design pattern course at udemy but didn't found. Thank you for this course. Your course is always awesome.
I've been long waiting for this course done by you. Only $30!!! I already know most of the content, but even if I learn one or two concepts from this course, it values thousands of dollars to me!
Mosh, so glad to see you avoid using abstract classes and suggest interface instead! So many demos will not take this into account. I think Microsoft had a good way of distinguishing when to use abstract class over interfaces. They suggested 'versioned' implementations as one reason to use an abstract class. I like your simpler or more pragmatic approach for beginners.
bought your course even though the company i am working for provides us with full access to udemy for business and o'reilly books . thanks for the great content (I am also looking forward to part 3) :)
Hi Mosh, I'm Kartick from India. I want to learn Oracle from A to Z. Mosh can you please upload full tutorial on Oracle Enterprise 19C from Beginners to Advanced level? There are no quality tutorial for OracleI on RU-vid. Please help me Mosh. I need to learn it as soon as possible. I found no one on RU-vid, who can describe and teach so beautifully. I'm really really pleased by the way of your teaching. Thanks Mosh for helping us unconditionally. May God fulfill your every wish!
Hey !!! Mosh !!! just watched the Add without skipping, i hope it will add some dollars and keeps you motivated for making such awesome content for us !!!! Thanks !!!!
I love how much effort you put into these videos. Changing Images and nice explanation makes this the best video for the topic. Came here because my lecturer was just reading the slides, and the slides was confusing
Feedback: everything looks nice and easy to understand, my only problem is that you are getting into IDE features too much too often, it's somewhat confusing.
@@programmingwithmosh Hi! I couldn't find where it is the complete course. I've search on your platform but nothing. Can you send me please a link? Thanks a lot
🎯 Key Takeaways for quick navigation: 23:24 🛠️ *Encapsulation Principle: Methods for Setting and Getting Balance* - Encapsulation bundles data and methods within a class, hiding object state. - Setter and getter methods, like `setBalance` and `getBalance`, demonstrate encapsulation. - Encapsulation helps prevent objects from entering an invalid state. 26:35 🧠 *Abstraction Principle: Reducing Complexity in Classes* - Abstraction reduces complexity by hiding unnecessary details in classes. - Metaphor of a TV remote control illustrates the abstraction principle. - Methods like `connect`, `disconnect`, and `authenticate` are implementation details hidden from the user. 30:43 🔄 *Inheritance Principle: Reusing Code with Inheritance* - Inheritance is a mechanism for code reuse in object-oriented programming. - Example using a base class `UIControl` and derived classes like `TextBox`. - Base class methods, like `enable`, are inherited by derived classes. 33:01 🌐 *Polymorphism Principle: Objects Taking Many Forms* - Polymorphism allows objects to take on many forms. - Example with a GUI framework and a `draw` method in the `UIControl` class. - The same method, `drawUIControl`, can work with different forms of `UIControl` objects. 36:44 📊 *UML (Unified Modeling Language) Introduction* - UML is a visual language for modeling systems, representing classes and relationships. - Class representation in UML includes fields, methods, and access modifiers. - Three types of relationships: Inheritance (arrow with a filled triangle), Composition (arrow with a diamond), and Dependency (dashed arrow). 46:44 🔄 *Memento Pattern* - The Memento Pattern is introduced for implementing undo mechanisms in classes. - Three participants in the pattern: Originator (Editor), Memento (Editor State), and Caretaker (History). - Explanation of how the Editor, Editor State, and History classes collaborate in the Memento Pattern. 54:32 🖌️ *State Pattern Introduction* - Introduction to the State Pattern for building a drawing application with different tools. - Explanation of the need for the State Pattern in handling diverse behaviors based on the selected tool. - Comparison with problematic if-else statements and the lack of extensibility. 59:38 🔄 *Polymorphism in Problem Solving* - Polymorphism is introduced as a solution to the problem, building on the principles of object-oriented programming. - Discussion on how polymorphism allows an object to take on different forms based on its type. - Implementation of polymorphism using interfaces and abstract classes. 01:03:02 🏹 *State Pattern Implementation* - Implementation of the State Pattern, introducing an abstract class/interface 'Tool' and concrete tool classes (e.g., SelectionTool, BrushTool). - Integration of the State Pattern in the Canvas class to handle mouse events based on the selected tool. - Demonstration of how the State Pattern makes the application more maintainable and extensible. 01:08:45 🔄 *Open-Closed Principle* - Introduction to the Open-Closed Principle. - Explanation of the principle: Classes should be open for extension but closed for modification. - Illustration of how the State Pattern adheres to the Open-Closed Principle, allowing easy addition of new tools without modifying existing code. 01:09:47 🚫 *Misuse of Design Patterns* - Cautionary note on the potential misuse of design patterns. - Example of a developer misapplying design patterns without considering the context and creating unnecessary complexity. - Emphasis on understanding the problem context before applying design patterns to avoid over-engineering. 01:10:59 🧠 *State Pattern Introduction* - Introduction to the importance of simplicity in solving problems. - Advice on not blindly applying design patterns without understanding the problem. - Mention of demonstrating the abuse of the state pattern in a stopwatch app. 01:11:30 🚦 *Abusing the State Pattern in Stopwatch Implementation* - Implementation of a simple stopwatch using a boolean to represent states. - Running and testing the basic stopwatch functionality. - Introduction of the idea that this simple implementation will be refactored using the state pattern. 01:13:03 🔄 *Refactoring with the State Pattern* - Introduction of the state pattern with the creation of a "State" interface. - Creation of "RunningState" and "StoppedState" classes implementing the state interface. - Explanation of how the state pattern simplifies code structure by centralizing decision-making. 01:17:24 🛠️ *Implementation Details of State Pattern* - Explanation of how state classes use constructors and references to manage state transitions. - Demonstration of how the main class sets the initial state and delegates the click functionality. - Comparison of the refactored state pattern implementation with the initial simple implementation. Made with HARPA AIbne