Don’t abandon the series please. Do you intend to come back to this?
@Sproeikoei18 күн бұрын
This is great, especially the last part about people saying writing in abstractions is "taking more time" or is making it harder. It just shows they are not yet used to this type of thinking, which to me also says that this might be what people mean when they say "don't program for the future" .
@Moonz975 жыл бұрын
Loving these screencasts! Keep up the great work. :)
@ChristopherOkhravi5 жыл бұрын
Glad to hear! Thanks for watching them! :)
@aldolunabueno26343 ай бұрын
This is so much great work! I'm writing all in Java for now and listing all the examples like this, that seems more real.
@Sorc475 жыл бұрын
I really enjoy your OOP videos, you're a great teacher. It's a shame that your channel doesn't get more views, people have no idea what they're missing out on. :)
@h0ph1p133 жыл бұрын
It is normal. Not many people get to this level.
@nathanlebretonNl2br5 жыл бұрын
i'm a 15 years designer who decide to go in the dark path of dev ^^. While you were speaking i completely understood the beauty of coding and the relation between my obsession of good design and my futur obsession of writing beautifull code. Thanks for that, plz continue the series, i understand so much now !!!! thx again
@visweswaranmanickam50923 жыл бұрын
Keep up the good work!! It's really great that we get so much perspective into object oriented programming , how to think about a problem and how to translate it.
@zbigniewcwiakalski7253 Жыл бұрын
I'd love sooo much to have more videos on this channel involved with screencasted design patterns ! :) love this channel !
@kensearle48927 ай бұрын
Thank you! I appreciate you using real business examples and C# code. Talking about Ducks was ok, but this is even more helpful. So following your concept, with the Constructor Dependency injection we could change the Writer instance in Main once to be either Console, XML, JSON, CSV, or Excel and the rest of the code does not change.
@taylormonacelli2 жыл бұрын
Suuuper helpful to have concrete real life example, thank you!
@momusic14272 жыл бұрын
Good job man . You are awesome ! Please please keep releasing videos on programming . You really make the concepts super easy .
@mariaspr52004 жыл бұрын
Your videos are excellent! You definitely deserve more views! Keep up the good work.
@moneymaker73075 жыл бұрын
You are a great tutor and all videos are freaking fantastic.I can relate to this example better than the duck example. Pls continue to use the Simulation Application as the context for design patterns. I can’t wait for the next episodes
@ChristopherOkhravi5 жыл бұрын
Excellent! I’m glad to hear! :)
@Oveia15 жыл бұрын
Suddenly I finish the first "duck" introduction about Strategy Pattern and a wild new video appears talking about the same subject. More odd is that before I find this video, I tought, "hum, hope Chris make a new video with other examples, more details and SHAZAMMM! I'm here! Thanks for this examples and such a good teaching of yours, man! Keep it up!!
@bsuperbrain5 жыл бұрын
That was absolutely refreshing. The use of this simple simulation example for the walk-through keeps things clear and followable as well. Nice job! (In production I'd rather design this with a producer-consumer model, making the simulation class observable. Waiting the next episode!)
@szabo369peter5 жыл бұрын
Minor correction: instead of this.rnd.NextDouble()
@mohammedammarkurabi75205 жыл бұрын
Fantastic explanation of the design patter.... I think implementing with goLang will be much easier.
@dakipro5 жыл бұрын
Thank you Christopher for these examples, they explained to me something that I wasn't quite sure about in years! I was wondering, if you could explain, or perhaps make a video about implementing observer pattern on top of this existing code, with multiple interfaces and all around it. I feel that this.writer.Write() would be better outside, but somehow connecting all the dots is still blurry for me. Again thanks, I hope we will get more high quality videos from you!
@animemachine5 жыл бұрын
Hello Great video! As always But, for me, something was left unsolved: Once the Iwriter is injected in the Simulation constructor, and having several implementations for Iwriter, it implies that the decision of the implementation to be injected should be in the caller. Therefore, an injection by IOC would not be possible. That could result in an IF / switch in the caller to decide which implementation to inject. How would you solve that?
@eshwareshwar88764 жыл бұрын
admire your thought process and thinking on edge conditions and forward thinking process. I am glad you bought this example but could have come up with better finishing on stratergy pattern. Which class and which interface playing the key role in making it as Strategy Pattern. At the end when we look at output, it seems that we are bringing up an interface in the middle, is that Interface aggregation is what the strategy pattern(always pops-up in mind), but actually it is not but looks like that, correct me if i am wrong. Its extremely an excellent video that so far i have seen, the way your making us to dive in to the problem is awesome. Last but not the least few logging libraries like Log4Net are the good examples for your simulation, They log the data to files or database (strategy), they provide formatters (decorator) for formatting data, may be observer also might be there. There are many such libraries evolved from the same thought process. For Ex: AutoMapper or StructureMap they use more AbstractFactory and Decorator patters. I am not wise enough to dive in to explanation and judge it correct it, i just felt, you can do far better than this when you bring up third party libraries as examples but again there are always ifs and buts, you know better than anyone else .....to be frank your thought process was awesome.
@nachomartgar93375 жыл бұрын
Well, this is much better than college
@AaronInCincy5 жыл бұрын
I feel like in this scenario, returning an enumerable would be cleaner and still support your requirement of causing side effects as your simulation runs rather than delaying until the end.
@ChristopherOkhravi5 жыл бұрын
I actually very much agree 😊 I’ll try to remember this when we get to iterator pattern!
@aleksandarstanisic18485 жыл бұрын
Great work ty!
@ChristopherOkhravi5 жыл бұрын
Thanks! And thanks for watching! :)
@CAIODONEDA5 жыл бұрын
Awesome video!
@bhoopendrasharma94745 жыл бұрын
Thank you so so.. . much for such content .. Super super Appreciated !!!..
@arashnikbakht1295 жыл бұрын
why you dont use php? Its dynamic and also have argument type and return type so you can do any kind of strict type variables and arguments.
@arao2k55 жыл бұрын
Great video !
@azhmanadam19493 жыл бұрын
I love the cat
@user-qm2xg3zn4n5 жыл бұрын
Great video! I have watched the first two in this series and the first one in the whiteboard series (baseicly just the ones about strategy pattern), and i have just one little complanet, you go off topic too much, other then that, realy great videos!!
@yonishachar18873 жыл бұрын
אתה לא באמת ישראלי. אני הישראלי היחידי שמכיר אותו. לך מכאן.
@uzumakicheti5 жыл бұрын
You have really good content, I like your videos, I was wondering how do you think protocol oriented programming changes the way we implement design patterns that use a lot of interfaces, like strategy patter for example, considering we are using swift language features like protocol extensions
@ChristopherOkhravi5 жыл бұрын
Thank you! :) I have unfortunately not yet familiarized myself with protocols (in the e.g. Swift sense) so I can unfortunately not comment on that :/ Thanks for watching though and hopefully someone else will be able to provide some insight into your question! :) :)
@FirestarterVideo5 жыл бұрын
Hey Christopher, ive discovered your channel while I was reading the Head First Design Patterns book. I recommend your videos to everyone who is new to design patterns at the company im working at. However, since your writing this series in C# , I wanted to make a few suggestions to your style, if you dont mind. Because I don't want to go into detail in a yt-comment, I just rewrote your code in a way that is more "in line" with the Microsoft code conventions and using the features C# provides, here: pastebin.com/WQsm0sma . I think the changes are very minor, but will easily improve the quality of your code. Thx for all of your vids! Mis
@ChristopherOkhravi5 жыл бұрын
Very interesting! Thanks!
@baby42655 жыл бұрын
Hello
@ChristopherOkhravi5 жыл бұрын
Hey hey 😊
@BaronVonTacocat5 жыл бұрын
_Type Writer_ LOLZ
@ChristopherOkhravi5 жыл бұрын
😅😅
@mauricearida90013 жыл бұрын
Christopher. Are you infj ?
@visweswaranmanickam50923 жыл бұрын
Keep up the good work!! It's really great that we get so much perspective into object oriented programming , how to think about a problem and how to translate it.