No video

Proxy Pattern - Design Patterns (ep 10)

  Рет қаралды 162,856

Christopher Okhravi

Christopher Okhravi

Күн бұрын

Пікірлер: 262
@eahmedshendy
@eahmedshendy Жыл бұрын
The community is missing someone like you. 2023 and we still enjoy such 37 min in a row.
@Gotinox
@Gotinox 5 жыл бұрын
Dude I really like how you repeat every one of your definitons at least twice... The first time to hear it and the second time to rethink it! You are a great teacher!
@vipram91
@vipram91 6 жыл бұрын
"Instead of calling the THING you want to call you call the THING which call the THING you want !!" Nice definition, liked it!
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Hehehehe 😁😁
@caoinismyname
@caoinismyname Жыл бұрын
It really was someTHING! 😂
@safvanp567
@safvanp567 9 ай бұрын
00:01 The proxy pattern provides a surrogate or placeholder for another object to control access to it. 01:56 Proxy pattern is used to control access to resources and solve access-related problems. 06:01 Proxy pattern adds additional behavior to control access to the underlying object. 07:58 Using a virtual proxy allows for additional behavior before making calls to an object. 12:12 Using methods is a flexible approach that allows for future changes. 14:13 Premature optimization can lead to inefficient code 17:59 Proxy pattern allows deferring the instantiation of the underlying book parser 19:42 Proxy pattern is used to create expensive objects on demand rather than immediately. 23:23 Proxy pattern is used to control access to an expensive operation. 25:11 The proxy pattern controls access to the real subject and follows the same interface. 28:44 The proxy pattern involves a proxy class that acts as a placeholder for another class, known as the real subject. 30:17 Create an instance variable that defaults to null for Lazy Book Parser Proxy. 33:58 The proxy pattern delays the instantiation of a concrete book parser until it is needed. 35:44 The proxy pattern allows instantiation of the book parser only when required, improving performance.
@frogspawn8
@frogspawn8 6 жыл бұрын
You are an effective and succinct communicator. You make learning infectious. Are you a professor or desiring to be? As online learning continues to become an educational alternative, and given the increasing university tuitions, online instructors like you are becoming a threat to the educational status quo. You have a gift and I believe it will take you very far in your career. EXCELSIOR!
@ewelinap491
@ewelinap491 3 жыл бұрын
i've seen he is a proffessor for 8 years now ;)
@diego99799
@diego99799 7 жыл бұрын
My mood rises when I see new episode. Thanks a lot MAN!
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
Thank you very much. That makes me happy to hear. I wish I could deliver more and faster. Gotta keep the balance with my day job :) But as I get the flow up I will hopefully be able to. Thank you very much for watching :)
@emersontavera9362
@emersontavera9362 6 ай бұрын
I'm reading the Head first design patterns book, I used to think that I already had a good understanding of OOP, but that book changed everything, I realized I just knew the name of the tools and maybe how they were written in java, but I had no idea how to use them, after learning about design patterns marked a new start for me. I came here to have some help with the Proxy pattern and you were awesome, thank you, now I'll go ahead and start reading the chapter about the proxy pattern in the book, keep it up man, you are a great teacher.
@VictorQianYT
@VictorQianYT 5 жыл бұрын
Great video, but can you move ur camera slightly to the right next time so i can see the cat better? :P
@GamerForeverChannel
@GamerForeverChannel 4 жыл бұрын
I cant see a thing
@davidegiancane4159
@davidegiancane4159 6 жыл бұрын
The best Design Pattern playlist on KZfaq! Your explanation skills are very powerful...listening to you is funny and not boring! Thanks to you I'm gonna pass my exam on Design Pattern!
@SGTR32
@SGTR32 6 жыл бұрын
Bruh!!, I watched this before my final and you made it super easy to understand. Hours of reading on this pattern were pointless. Crystal clear explanation. Keep it up and two thumbs up!
@ratulmahjabin9765
@ratulmahjabin9765 2 жыл бұрын
The one reason I keep coming here is that he keeps repeating what he is teaching. That really helps to understand the topic better. Great contents!
@KenZhi-lk9qw
@KenZhi-lk9qw 6 жыл бұрын
Hi, I am a student from Taiwan, I really like your explanation, really help me a lot! Thanks!
@glebcherkashyn2357
@glebcherkashyn2357 5 жыл бұрын
open, smash 'like' button, watch - my algorithm for your videos. I call this pattern "gratitude". Thanks a lot for your great job!
@kiwalok8982
@kiwalok8982 3 жыл бұрын
I was completely lost, and i had to understand and learn design patterns. i found this channel, and now i get it all. thanks for your time and effort Chris.
@Rappomon
@Rappomon 5 жыл бұрын
We need more people like you! Everything I search on KZfaq for Object-oriented programming is either trival or just not helpful. Thanks to you I understood the patterns I needed to understand for my exam. Thanks!
@Rappomon
@Rappomon 5 жыл бұрын
They could be a little shorter tho :D
@AmitSharma-vh7qv
@AmitSharma-vh7qv 5 жыл бұрын
I really like the effort you give while explaining the concept. you are very good teacher. Hard to find teacher like you
@DailyStoicStepsOfficial
@DailyStoicStepsOfficial 5 жыл бұрын
I completely lost track after that cute student walked into the class. :D
@emmanuelasunomeh9949
@emmanuelasunomeh9949 2 жыл бұрын
Great Job!! I have never seen any video that explains design patterns so clearly. Thank You for making my life easier to understand Design Patterns.
@rajsekharmahapatro
@rajsekharmahapatro 4 жыл бұрын
I am really upset i did not find your tutorials all these years on KZfaq when ever i searched for "design patterns with Java". But better late than never. Thanks dude.
@onurodabas8207
@onurodabas8207 4 жыл бұрын
I had astigmatism and I started wearing new glasses. I was happy to see everything clear. Until I watched this video: D.Even so thanks for your informative video :)
@arpitamandal1472
@arpitamandal1472 5 жыл бұрын
I just don't understand how do you manage to make it so simple... Thanks alot for this wonderful explanation... 😀
@Elenthiriel
@Elenthiriel 2 жыл бұрын
Man, your examples, just make it so easy, it was a nightmares before i know this playlist, thank you
@nadnerb2178
@nadnerb2178 3 жыл бұрын
Great video. Content and explanation were really useful, thanks! I know you mentioned the autofocus and are aware of it but just a suggestion: Perhaps avoid using autofocus all together? Use a deeper depth of field and set your focal point to 2/3rds of the distance from the whiteboard. After this is set, leave the focus for the entire video. There's no need for the camera to be constantly re-adjusting focus as you move your arm back and forth because that data is irrelevant to what the viewers need to see.
@sarenodev
@sarenodev 3 жыл бұрын
Bringing up the "Premature optimization" is brilliant 💡. Thanks!
@HarithAldabbagh
@HarithAldabbagh 3 жыл бұрын
This is by far the best explanation of the proxy pattern I've watched on youtube! Thank you!
@christianlevesque9017
@christianlevesque9017 7 жыл бұрын
114 likes, 0 dislike ... I'm really NOT surprise .. your explanations are perfect
@aneeshjain3395
@aneeshjain3395 3 жыл бұрын
Instead of book I prefer to watch this playlist again xD
@mikhailbisserov8017
@mikhailbisserov8017 6 жыл бұрын
I love your explanation that patterns have different intent even if implementation strategies match sometimes.
@crashedbboy
@crashedbboy 3 жыл бұрын
Hey Christopher, thanks for sharing these knowledge so generously, hope everything's well with you.
@heisenburger311
@heisenburger311 7 жыл бұрын
Your explanation of concepts and examples are easy to understand! I even treat it as a kind of relaxation! Though I fell asleep for times in this episode (maybe just because I watched it after dinner...), I found I was still keeping up with the pace of the video :) Thank you so much!
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
Hah! :D :D :D
@SaurabhGuptaicecool
@SaurabhGuptaicecool 4 жыл бұрын
Learnt first 10 design patterns and done for now. Will come back later, maybe during the 2nd half of 2020.
@97Patok
@97Patok 5 жыл бұрын
maan, I've been watching these videos and writing notes all day long. Thanks.
@startrek3779
@startrek3779 2 жыл бұрын
Excellent explanation! Thank you so much!
@pradeepsanju
@pradeepsanju 7 жыл бұрын
As usual amazing explanation Chris. Keep up the good work. Thanks a lot.
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
+pradeepsanju Glad to hear! I will. Thank you for the encouragement and thank you for watching :)
@KirubaEbenezer
@KirubaEbenezer 6 жыл бұрын
I started to see your videos yesterday night 10PM. Now it’s morning. Amazing videos….. Keep it up. One suggestion will be, please take best of best book in each computer subject and do like this. I bet you, you will become the KZfaq star. People from India simply love Liza koshy. So they will love you too…...
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Haha I’m sorry that I kept you up all night but I’m glad to hear you found the videos engaging! :) And I assume it was worth it since you stuck with it 😀 Thank you very very much for the encouragement and great suggestion. I will try my best! 😄😄
@michor10
@michor10 5 жыл бұрын
It would have been pretty cool if you had talked a little bit about how virtual proxies can also override a client's method or property. This, in my opinion, makes virtual proxies super powerful (assuming, of course, that the language allows for it and that the client class has been defined appropriately) Thanks a lot for the great video!
@hazemgharib
@hazemgharib 6 жыл бұрын
Man I love your videos. You make things that were unclear to me looks like really super easy.
@gouthamrg8584
@gouthamrg8584 3 жыл бұрын
Group of Devs said design patterns are difficult till Christopher enters the room.
@mil3761
@mil3761 Жыл бұрын
These videos are amazing. You should create a design pattern playlist for easier consumption
@leonarddacosta7710
@leonarddacosta7710 4 жыл бұрын
Hi Christopher, I must firstly say that you’re a great teacher. I’ve been feasting on your presentations on Design Patterns and enjoying every bit of it. I’ve looked at this particular tutorial 3 times but I couldn’t seem to grasp the concept properly then I found why: I think your example don’t quite fit the pattern. Here’s why: The base interface on the right, ie the Implementor needs to itself be a specialised form of the Abstraction hence the name Implementor. With this understanding the definition makes total sense “Decouple an abstraction from its implementation so that the two can vary independently”. In your example IResource would need to be a specialised version of View to fit the Bridge Pattern which makes no sense. My comment is not to take away from your work by the way, your work is awesome stuff. Let me know what you think. This is a really powerful pattern.
@shaunsmith8762
@shaunsmith8762 5 жыл бұрын
Hey Christopher, Thank you very much for making these videos. I know they’re a lot of work. You teach the way I think. If that makes sense. Brilliant job!!!
@utkarshgupta2909
@utkarshgupta2909 3 жыл бұрын
Christopher Okhravi, create more content. You explain very well and in depth !!
@david44707
@david44707 2 жыл бұрын
Chris, you're an awesome pedagogue !!! Thanks a lot !
@mathiasyeremiaaryadi9097
@mathiasyeremiaaryadi9097 3 жыл бұрын
I think what you mentioned around 11-12 minute is "encapsulation" , where you can access the field through method instead, by using setter and getter method. cmiiw
@andyk2181
@andyk2181 Ай бұрын
As an example, if you had a coordinate class then you would have methods getX() and getY(), but you could also have getMagnitude() and getAngle(), how the data was store, either in cartesian or polar coordinates, would be unknown to anyone using the class - in fact you could change it without affecting the public interface.
@pietrodellanotte
@pietrodellanotte 2 жыл бұрын
Man i'm here now, and with your help i'm trying to learn the design patterns. Just for info you talk so fast also with 0.75 play speed😂. Great work dude!
@konzinovmaverick4539
@konzinovmaverick4539 7 жыл бұрын
Someone would say ANOTHER ONE! Great Job Dude!
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
+konzinov maverick Yeeeeeeea they don't wanna see us win!
@swapnilkhole
@swapnilkhole 3 жыл бұрын
great video. Guess, who uses the proxy pattern heavily as you've said for the lazy initialization? of course, hibernate. When you declare explicitly that I'd like to have an object lazily initialized, hibernate obliges it by using proxy around it. So that ORM class is instantiated only when we 'really' want to do something on it, until then it is just hanging around there as a simple proxy class . Again, great video!
@PA-vf5st
@PA-vf5st 4 жыл бұрын
Hello Christopher, I like your videos and the way you explain it...I have been following your videos for my better understanding abt DP....Can I request you about including real business scenario where we can implement these DP's...Please have a 10 min of slot in your video abt telling us real scenarios where we can implement this DP....
@dnyaneshbarkade538
@dnyaneshbarkade538 7 жыл бұрын
Very well explained. we love your lectures and your cat.
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
Haha thanks! I'm glad to hear :) Actually there are two cats but one of them seems to always be around when the camera is out :D Thanks for watching :)
@CheapNLazyAdventures
@CheapNLazyAdventures 4 жыл бұрын
Very, very good video. Thanks, I hate how many video's are decent, but you cannot understand the person who is speaking. You anunciate very well and you do a great job of driving home a point.
@somunix
@somunix 6 жыл бұрын
Thanks Christopher for you detailed view on patterns.. I really find them very informative and like the simple way you have explained these topics. Keep the good work .. Way to go.. :)
@shepherd2436
@shepherd2436 5 жыл бұрын
27:33 cute cat!!!
@dhananjaypal8498
@dhananjaypal8498 5 жыл бұрын
I love your work. Thanks a lot. Please continue this series
@revensoftware
@revensoftware Ай бұрын
Regarding the performance vs readability, I tend to lean towards performance - within reason. I've encountered many times where someone wanted to significantly reduce performance for the sake of improving readability slightly. I hear the same thing a lot, "don't worry about performance until it's an issue," but that's one of the big problems in our society - people don't want to do anything that takes effort until there's an actual bonafide problem (and sometimes not even then). If you intentionally hinder the performance a small amount for the sake of readability and then do that 1000 times across a system, it can take a lot of unnecessary effort to identify which pieces need to be updated, which are the worst offenders, how to fix them, etc. It might be obvious which option is more performant vs readable when it is being written/reviewed, but 6 months, a year, 3 years later, that knowledge is probably lost.
@EminoMeneko
@EminoMeneko 3 жыл бұрын
8:04 NOOOOOOOOOOOOOOOOOOOOOOOOOO ! I did not have time to take notes !!!! 😱😱😱😱😱😱😱 No seriously this is good and I have OneNote opened to keep the important bits. About autofocus I'd say in the context in which you shoot, you'd probably better find a manual setting that works. Autofocus is dynamic and can misinterpret the subject at times. With a long enough depth of field you could not need to change anything at all and be sure the image is neat for the desired scene setup. The smaller the aperture the longer the depth of field but also the less light = greater likelihood to need external light.
@arvindeya
@arvindeya Жыл бұрын
Thanks for such a brilliant series on the design patterns. Would like to know more about improving application performance from developer's perspective, but in "Christopher Okhravian" style.
@Ti4g00liveira
@Ti4g00liveira 6 жыл бұрын
Your content is really good tho. I can't wait to see what more interesting things you're going to bring to the channel!
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Im glad to hear :) and glad to have you onboard :)
@shankar7435
@shankar7435 6 ай бұрын
Thanks for the easy-to-understand explanation & cat though 😀
@zahidkhankhan
@zahidkhankhan 6 жыл бұрын
quite interesting and explain in an abstract way. which make it more interesting. appreciated your efforts keep it up buddy..
@melbinthomas2199
@melbinthomas2199 6 жыл бұрын
You are a great teacher .....Love from India .
@alirezajazayerei2881
@alirezajazayerei2881 4 жыл бұрын
you are AWSOME keep up the good work, it helped me so much. thank you
@davidegiancane4159
@davidegiancane4159 6 жыл бұрын
Awesome as always, you are a very good teacher! Just a question: what about the GoF patterns which the book "Head first" doesn't explain? Are you going to make some videos about them? I hope so, it would be great :D
@lpatrasco
@lpatrasco 5 жыл бұрын
Question: is it still appropriate to use proxy pattern when you own the original object implementation? It makes sense to proxy another library object to enhance or change it’s behavior. But does it make sense to proxy your own object that you could just modify instead of proxying? I know of the open-close principals. So proxying already existing object that I own the implementation of would obey the open-close principle but also would possibly create layers upon layers upon layers. Also, I’d like to hear more on dangers and gotchas of each pattern.
@masterbonzala
@masterbonzala 6 жыл бұрын
A real case where I have seen a proxy being used was when our architect made the system into three layers, we had a lot of sensitive code that we didn't want to edit, so some of the classes of the core of the application became proxies to to the data access layer, which otherwise would have been nothing but duplicate code in a separate assembly
@JATR1X
@JATR1X 3 жыл бұрын
Great video as always! small criticism: I think a better example would be to introduce a "setBookString" method instead of working with constructors. Since the constructor is not part of the IBookParser interface, we can not really rely on it when Proxying the BookParser class.
@sailakshmimanthena4244
@sailakshmimanthena4244 4 жыл бұрын
you really helped me during my exams. thanks bro
@martonkaable
@martonkaable 6 жыл бұрын
Cool! This is the first video I saw from you, but I immediately subscribed.
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Awesome. I’m glad to hear :) Welcome :)
@ArjonJasonCastro
@ArjonJasonCastro 6 жыл бұрын
Best examples of Proxy pattern are Mockery(mocked objects or services) as used in unit testing.
@bryanshi3774
@bryanshi3774 2 жыл бұрын
Great Video!!
@petschi3473
@petschi3473 2 жыл бұрын
great! Thank you!
@ericchou6503
@ericchou6503 4 жыл бұрын
Well explained. Very clear. Now I understand the cat pattern... I mean proxy pattern.
@tjgawhane
@tjgawhane 5 жыл бұрын
Thanks for explaining proxy with such ease to understand. I have one thing in my mind that is LazyBookParserProxy is not thread safe while creating instance of RealBookParser, we may end up having multiple RealParser
@frueskens
@frueskens 4 жыл бұрын
you should use a thread save singleton in order to create the real book parser
@crankitsourav8686
@crankitsourav8686 4 жыл бұрын
Hey Christopher , Thank you very much for this great video series . According to the code that you have mentioned at last it seems same to singleton pattern.(one time creation object) Can you please brief me how this proxy pattern is difference from singleton pattern ??
@chrisjust7445
@chrisjust7445 7 жыл бұрын
I never thought of the Proxy pattern as having 3 different flavors, but I guess that makes sense. BTW, since you almost always run out of room on your whiteboard, maybe you should rehearse what you're going to write on the board so you know how much room you need. Either that or get a bigger whiteboard. :) At my least company we used to rehearse our sprint demos the day before, so we could iron out some of the wrinkles and prepare for the questions better.
@vedantiyangar151
@vedantiyangar151 4 жыл бұрын
Cat tail casually wagging like a boss. Just kidding, great video, thanks!
@KratosKaiBia
@KratosKaiBia Жыл бұрын
Thanks very much for these videos and I love your cat! :)
@pradeep422
@pradeep422 5 жыл бұрын
why the board is so blurry lol even tried in 1080p, unable to watch!!!!!!(until 20:00, rest is fine)
@stanislavmachel5361
@stanislavmachel5361 5 жыл бұрын
Thanks a lot! Christopher, it is the greate explanation, which I ever heart!
@narendrasinghrathore1012
@narendrasinghrathore1012 5 жыл бұрын
Proxy 1. remote 2. virtual 3. protection & 4. smart reference ?
@oeurnravuth9078
@oeurnravuth9078 6 жыл бұрын
You very good explanation. I like it so much!
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Thanks! And thanks for watching :)
@AlexandreBlascoBraso
@AlexandreBlascoBraso 4 ай бұрын
Hello Chris, I love your videos, thanks. I would like to know if you have done the one where you explain the differences between decorator, facade, adapter and proxy. I did not find it. Thanks! Awesome content!
@ChristopherOkhravi
@ChristopherOkhravi 4 ай бұрын
Episode 12 in the playlist 😊 Thanks for watching. kzfaq.info/get/bejne/orajhq9nxJ2ycps.html
@AlexandreBlascoBraso
@AlexandreBlascoBraso 4 ай бұрын
Thanks I will take a look!@@ChristopherOkhravi
@moodyfilms4
@moodyfilms4 3 жыл бұрын
Hi Chris, I really like this video but I am a bit confused on one point. If I understand correctly, the purpose of the Virtual Proxy is to throttle the creation of the RealSubject so that it only happens when it is needed. However, if I call GetNumPages on LazyBookParser, the BookParser will be instantiated immediately if it does not exist. Where is the throttle in this situation? Otherwise, I really have enjoyed this video and others. Looking forward to watching the rest of the playlist and will be recommending to many others!
@Levendo
@Levendo 4 жыл бұрын
Thank you, these videos are super informative!
@domidodongo
@domidodongo 5 жыл бұрын
I really like your videos. Thanks a lot !!! They are really helpful!
@VishnuRadhakrishnaPillai
@VishnuRadhakrishnaPillai 7 жыл бұрын
Thanks Christopher Great Explanation
@ankitavyas7996
@ankitavyas7996 6 жыл бұрын
Thank you Chris, for amazing tutorials. Isn't this pattern very similar to singleton pattern, except that we create object on-demand through some method instead of constructor in singleton, or am I understanding this wrong?
@markbennett1237
@markbennett1237 2 жыл бұрын
Nice job. I think using properties is OK though. If you chose to use a method, and then decided that you need to add a parameter, you will still need to change the callers... unless of course you use default parameters and you know that the default parameters are OK for any existing callers. My understanding is that you do not want to make your member variables public, but accessing them through properties is fine.
@jordanshuriken
@jordanshuriken 4 жыл бұрын
Your videos are fantastic and informative!
@tonydunne1965
@tonydunne1965 4 жыл бұрын
A Very very good explainer
@HDChif
@HDChif 7 жыл бұрын
Great video. But how could you tell if you are accessing a Field or a Method? A method always has a parentheses () and you can therefore tell that it is a method and not a field.
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
Thank you very much for your comment! Great question :) Sorry, I should have been more clear in the video. In the language Ruby e.g. `object.method` is interestingly the same thing as `object.method()`. Which means that you can start out with a public get:er but if need be change it to a method later down the road. In my subjective opinion I think this is great since it means we can start "lightweight" and then introduce syntactic complexity when needed, rather than from the outset. However, there might be other negative consequences of the fact that Ruby is designed this way but I am not yet aware of those :) Thank you again for your question/comment and for watching :)
@Cheagong
@Cheagong 5 жыл бұрын
Perfectly explained, thank you!
@SteveMarvell
@SteveMarvell 4 жыл бұрын
Great series. What is the solution if there is an unspeakable number methods on the real service, assuming the language doesn't have a magic method.
@mahmoudashraf117
@mahmoudashraf117 2 жыл бұрын
awesome example . thanks alot!
@ArjonJasonCastro
@ArjonJasonCastro 6 жыл бұрын
It is a good design that you use methods acessors so that if you change it later, you will just simply change its concrete object implementing the same method interface
@Blaskillo
@Blaskillo 4 ай бұрын
Awesome content, thanks
@yahyadurrani5482
@yahyadurrani5482 5 жыл бұрын
brilliant mate, keep up the good work
@vi3ruSak
@vi3ruSak 5 жыл бұрын
So, this is a way to model smart pointers(c++) ? You put an address of an object O1 in pointer(reference) and then you can wrap that pointer in another object(proxy) so that you can control access(number of accesses, protection, etc.) to O1 ? By the way, great video !
@oleksandr.pastukhov
@oleksandr.pastukhov 7 жыл бұрын
Christopher, thanks a lot, very nice explanation :)
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
And thank *you* for watching :)
@pinkponyofprey1965
@pinkponyofprey1965 7 жыл бұрын
These videos speak to my mind. If that's a good thing I don't know but I like it. It works! :D Also, give the cat some lasagna and maybe the cat will stop playing with the auto focus?
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
I'm really glad to hear. Thank you very much for sharing. And about the camera equipment fiddling cats, I thank you for bringing new ideas to the table :) Nothing I've tried seems to be effective :D
@gharbialaddin6159
@gharbialaddin6159 2 жыл бұрын
Great explanation ! just one doubt : if the proxy has a member of type real object, why does it need to inherit in interface ? in other words : what purpose exactly the interface serves ?
@joaomarcoscarvalho10
@joaomarcoscarvalho10 2 жыл бұрын
Because the proxy should be able to be used at the same places the real object is used. It is like the decorator pattern, the proxy is the object and has the object
@mustafajaouad9103
@mustafajaouad9103 2 жыл бұрын
because the real class and the proxy should be of the same type , we should be able able to work with the proxy the same as the real object
Bridge Pattern - Design Patterns (ep 11)
52:04
Christopher Okhravi
Рет қаралды 145 М.
Adapter Pattern - Design Patterns (ep 8)
26:36
Christopher Okhravi
Рет қаралды 241 М.
WHO CAN RUN FASTER?
00:23
Zhong
Рет қаралды 43 МЛН
а ты любишь париться?
00:41
KATYA KLON LIFE
Рет қаралды 3,1 МЛН
Command Pattern - Design Patterns (ep 7)
39:12
Christopher Okhravi
Рет қаралды 268 М.
Decorator Pattern - Design Patterns (ep 3)
54:35
Christopher Okhravi
Рет қаралды 480 М.
10 Design Patterns Explained in 10 Minutes
11:04
Fireship
Рет қаралды 2,2 МЛН
Object Oriented Programming is Good | Prime Reacts
31:30
ThePrimeTime
Рет қаралды 302 М.
Structural Patterns (comparison) - Design Patterns (ep 12)
36:22
Christopher Okhravi
Рет қаралды 93 М.
Factory Method Pattern - Design Patterns (ep 4)
27:21
Christopher Okhravi
Рет қаралды 542 М.
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 251 М.
How To Reduce Coupling With Facade | Design Pattern Tutorial
28:29
Design Patterns Revisited in Modern Java by Venkat Subramaniam
51:30
WHO CAN RUN FASTER?
00:23
Zhong
Рет қаралды 43 МЛН