Hi @Raw Coding, at 4:29 you say "this concept is also known as Dependency Inversion" but wouldn't the concept actually be "Inversion of Control (IoC)"? This last one by means of "Dependency Inyection" of the factory. Because if I understand correctly "Dependency Inversion" would be the "D" of SOLID principles and the intent is different, which in the later case would be decoupling. Am I right? Regards
@RawCoding3 жыл бұрын
You are correct, thank you for letting me know I wasn’t aware of the fine grained difference between DI, DIP and IoC. I always bunched them up together. martinfowler.com/articles/dipInTheWild.html#HowDidIGetHere
@andreikashin2 жыл бұрын
try no to stick to bla-bla terminology.
@rapoliit11 ай бұрын
@@RawCoding Thank you very much. Long search ended here....so much of wrong info out there in this regard.
@cihangirbozdogan4549 Жыл бұрын
Very simple demo and i love it when you explain when/where to use this pattern. Thank you and appreciated! 💙
@RawCoding Жыл бұрын
Cheers! Make sure to check out the playlist
@RANVEER.43212 жыл бұрын
Thank you so much... 9 mins.. and I learned it. I have seen many long videos. But nothing compared to this..
@liangbinyu7620 Жыл бұрын
Bro, the series of videos explained design pattern the easiest way, thank you so much
@RawCoding Жыл бұрын
Glad you enjoyed them bro )
@AlexxXRecorD2 жыл бұрын
The best explaning, I've ever seen. Thanks!
@RawCoding2 жыл бұрын
Cheers
@RawCoding3 жыл бұрын
Books I'm holding at the end (thinking that ending clip might get boring quickly) .NET Pro Memory Management Design Patterns (GoF) Structure and Interpretation of Computer Programs The Joy of Clojure
@amirh.jabari54013 жыл бұрын
Yohoo... I'm going to love this play list😍😍
@RawCoding3 жыл бұрын
Hope so!
@mahmoudalaskalany3 жыл бұрын
i have passed this situation where i have to generate form controls from backend and am using factory pattern for it its very good for this use case thanks for confirming it Anton
@RawCoding3 жыл бұрын
Thank you for watching
@saurabhchauhan2323 жыл бұрын
Thank you ! Finally Design pattern started,
@RawCoding3 жыл бұрын
Hope you enjoy
@kapilgupta44093 жыл бұрын
Amazing ! You are an outstanding developer.
@RawCoding3 жыл бұрын
Cheers
@rozezard862 Жыл бұрын
Liked your background, not distracting at all ;-)
@cicerofoscarini88902 жыл бұрын
Hey man! I really appreciate your channel and the way you explain the concepts. I hope everything is ok with you. Your last video was one year ago. Big hugs!
@RawCoding2 жыл бұрын
Cheers my dud all is good, I still upload videos
@pereirao3 жыл бұрын
Are you a psychic? Yesterday I was looking for more information on abstract factory pattern. YESTERDAY! Less than 12 hours ago! Anyway, thank you and greetings from Brazil! ^_-
@RawCoding3 жыл бұрын
Life is funny
@PRATAPSINGHSHEKHAWAT3 жыл бұрын
@@RawCoding This Happen to me a lot 😂😂😂😂😂
@adwers-comdamiannass45612 жыл бұрын
Beautiful explanation, just Beautiful❤. Thank You👏
@domantasg76603 жыл бұрын
Could you please make series about Domain-Driven-Design. And how a project would scale and look like when applying this practice?
@RawCoding3 жыл бұрын
Don’t really do DDD
@hadibazmi63403 жыл бұрын
@@RawCoding are you a functional guy rather than ood maniac?
@RawCoding3 жыл бұрын
Yes, I prefer functions )
@hadibazmi63403 жыл бұрын
@@RawCoding i kinda sense that Maybe later discuss that too I try to be more functional so any hints are appreciated
@RawCoding3 жыл бұрын
Learn Clojure
@nokostunes2 жыл бұрын
thank you for the simple explanation :]
@RawCoding2 жыл бұрын
Thank you for watching )
@sunnypatel10453 жыл бұрын
Yes! Thank you mate
@RawCoding3 жыл бұрын
No thank you!
@stefanioan75693 жыл бұрын
Did you bought your microphone second-hand? The sound is always very low.
@RawCoding3 жыл бұрын
Nope, I’m just shit at using it
@stefanioan75693 жыл бұрын
@@RawCoding I'm sorry to hear that
@RawCoding3 жыл бұрын
Surprised you can hear it, my audio is shit
@18Maxim18 Жыл бұрын
Nice description
@Furki4_4 Жыл бұрын
Thank you !
@stefanioan75693 жыл бұрын
I see you like to torcher yourself with the painting on the wall. I’m referring to the very one on top.
@RawCoding3 жыл бұрын
Hahahahaha
@kapilpatel93793 жыл бұрын
Thanks for such good videos
@RawCoding3 жыл бұрын
Thank you for watching
@Pixalynx3 жыл бұрын
This is amazing !
@RawCoding3 жыл бұрын
Thank you )
@pedroferreira92343 жыл бұрын
Hi bro, can you tell me the books you showed and/or books you recommend? Thx :) (Design pattern playlist lets gooo)
@RawCoding3 жыл бұрын
Holding: .NET Pro Memory Management Design Patterns (GoF) Structure and Interpretation of Computer Programs The Joy of Clojure Recommend: Clojure for the Brave and True (read it before The Joy of Clojure) Out of the Tar Pit github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf Bob Martins (Uncle Bob) books really good for beginners
@pedroferreira92343 жыл бұрын
@@RawCoding amazing, gonna take a look! thx you
@oladipotimothy60073 жыл бұрын
It's evident you enjoy the complexity involved lol
@RawCoding3 жыл бұрын
What complexity? This is simple no?
@oladipotimothy60073 жыл бұрын
Implementation - simple Thinking - complex, but can be simple with time
@RawCoding3 жыл бұрын
Why is thinking complex?
@oladipotimothy60073 жыл бұрын
Thinking is not complex. Proper application of thoughts can be complicated because there are different approaches to things.
@hadibazmi63403 жыл бұрын
I really liked that but painting 😁😋 Talk more about that
@RawCoding3 жыл бұрын
My girlfriend drew it. I am only doing these programming tutorials to accumulate value on the butt painting and sell it for millions after many years, when I and the painting is famous!
@hadibazmi63403 жыл бұрын
@@RawCoding #respect I bid the first
@MrCommanderKid3 жыл бұрын
Cool!
@RawCoding3 жыл бұрын
Hope so!
@TheAlien19003 жыл бұрын
It won't work. Constructors do not return objects, but init fields of the current one. It is also impossible to reassign "this". In your case, there is just an output to the console, which does not mean that an object of the correct type has been created and returned. It was created and immediately destroyed. Without the lambda, the constructor code looks like this: public class DropDownMenu{ public DropDownMenu(IFactory factory) { _ = factory.CreateButton(); } }
@RawCoding3 жыл бұрын
No clue what you’re talking about
@TheAlien19003 жыл бұрын
@@RawCoding I mean that the created objects are not saved anywhere. Or is the initialization of the internal fields of the DropDownMenu omitted on purpose so as not to complicate the example? This makes it harder to understand the idea of the pattern.
@RawCoding3 жыл бұрын
I’m explaining re usability of an object creation process. Showing how to then use the object is a waste of time.
@iambonmucho3 жыл бұрын
Is a deserializer not also a type of factory?
@RawCoding3 жыл бұрын
It is
@piotrc9663 жыл бұрын
Seems Abstract Factory > Factory Method ;)
@RawCoding3 жыл бұрын
I’d agree
@stefanioan75693 жыл бұрын
Hi, any chance you can share the book list? Much appreciated 👍
@RawCoding3 жыл бұрын
I'll pin the comment
@wisnu77343 жыл бұрын
Why dont you use visual studio ?...i'm confuse what a Dump keyword for...
@RawCoding3 жыл бұрын
This is LinqPad, and dump prints object on to the screen. I dont like visual studio
@wisnu77343 жыл бұрын
@@RawCoding ohhh i see...i hope you'll switch to Visual studio some day..cause i have to think twice while you use linq pad...😄😄😄
@RawCoding3 жыл бұрын
Yeee that won’t be happening
@DarthYoda25132 жыл бұрын
@@RawCoding might I suggest Jetbrains Rider?
@RawCoding2 жыл бұрын
What is that?
@moneymaker73073 жыл бұрын
Can you make a video on event sourcing and how to store event in real word. This will complement your mediatr tutorial
@RawCoding3 жыл бұрын
Probably not, but I’ll see what I can do
@taraspelenio82592 жыл бұрын
Hi, do you have text version of video?
@RawCoding2 жыл бұрын
Hi nope
@taraspelenio82592 жыл бұрын
@@RawCoding Ok, I'll read about it in some other place. Video is cool anyway)
@benjeee4299 Жыл бұрын
Maybe I'm just dumb
@RoboChickenAnimation3 жыл бұрын
Have u ever used the command pattern?
@RawCoding3 жыл бұрын
If I did not consciously
@RoboChickenAnimation3 жыл бұрын
@@RawCoding we use it where I work to interface with the domain level hardware functions. You plug generic commands into queues and lists and you can execute them in parrelell or in series and keep track on their errors and handle logging in a generic way. You could even use it to undo/redo events. It works well for our kind of stuff were we have multiple versions of the hardware sequences for different client applications. Also it makes fixing defects and changing behaviour really easily and it’s all plug and play.
@RawCoding3 жыл бұрын
Reminds me of some of things I’ve done, my approach is more functional where I just pass a function with some closures, which in turn becomes the command object.
@RoboChickenAnimation3 жыл бұрын
@@RawCoding could do yeah. The class is more of a way to encapsulate a recovery command, a regular command, an undo and some error handling stuff. Sounds like a good approach tho especially if you’re just concerned about passing around the single function
@RawCoding3 жыл бұрын
I see, thanks for telling me, I’ll be reading more in to it when I’ll come to covering it
@WayneGreen-g8l Жыл бұрын
He makes a change and then moves the screen so that you don't get a chance to study the change, for example around 6:42. It's too fast to even pause there. Also, he doesn't show enough code in the same screen so I can't see how one thing affects the other. Quickly moving around, distracting hand gestures, imprecise definitions, etc.