Liskov Substitution Principle
20:16
7 Tips to Grow as a Developer
7:25
They Knew Waterfall Didn't Work
6:36
Always Use Interfaces
8:08
8 ай бұрын
Covariance and Contravariance
13:31
The Square-Rectangle Problem
9:59
My Vim Setup #1 (Job Control)
43:27
5 жыл бұрын
Ramda JS Tutorial - Part 40 (filter)
57:55
Todo App in Vue.js - The Hard Way (Ep18)
1:07:11
Vue.js - The Hard Way (Ep16)
1:00:12
6 жыл бұрын
Vue.js - The Hard Way (Ep15)
51:46
6 жыл бұрын
Vue.js - The Hard Way (Ep14)
34:00
6 жыл бұрын
Пікірлер
@adwaithjayasankar3985
@adwaithjayasankar3985 Күн бұрын
What the fuck did I just watch, I don't know how you managed to keep me hooked for 30 minutes in a video about ducks. Solid work man, great teachers do matter.
@reyoreno7639
@reyoreno7639 4 күн бұрын
1:10 did he just say the inventor of null is Tony Whore?
@schmidtlach
@schmidtlach 6 күн бұрын
You still need an address of the concrete observable if you need to remove the observer from the list of observers inside the observable.
@shivakumarmachidi2822
@shivakumarmachidi2822 8 күн бұрын
46:37 Could not be more clear to explain the pull by moving to the Observer side. Thoughtful!
@David-k9k5d
@David-k9k5d 8 күн бұрын
You teach in a nice and funny way, well done, thank you❤❤❤
@schmidtlach
@schmidtlach 8 күн бұрын
As usual, beautiful explanation.💎The best I have ever seen so far.
@elhambeydaghi6458
@elhambeydaghi6458 8 күн бұрын
A real teacher! I love ur videos. U really rock!!!❤
@schmidtlach
@schmidtlach 9 күн бұрын
Good and funny. Christopher has a nice way of explaining difficult concepts in simple terms. I loved the video.
@schmidtlach
@schmidtlach 9 күн бұрын
Marvelous explanation
@tomasprochazka6198
@tomasprochazka6198 9 күн бұрын
It's a big difference to having WET domain logic, or trying to make DRY all helper functions possible in some "utils" package.
@schmidtlach
@schmidtlach 10 күн бұрын
Excellent explanation. Period.
@schmidtlach
@schmidtlach 10 күн бұрын
Excellent explanation. Period.
@dansplain2393
@dansplain2393 11 күн бұрын
I just watched your intro 3 times and laughed every time. Great physical comedy. Also very informative
@ЮсупАдилханов-у9х
@ЮсупАдилханов-у9х 12 күн бұрын
Yor chanell is just a treasure even in December of 2024
@Lorenzo-pw7dp
@Lorenzo-pw7dp 13 күн бұрын
Hi, I just wanted to thank you, because this diagram and your approach to the subject really made me grasp those concepts I've been seeing on other channels, which are centered more towards experienced programmers than beginners like myself. Something really clicked, and now I think I'm starting to see *why* those programmers program the way they do. God bless
@VudrokWolf
@VudrokWolf 14 күн бұрын
If we make the decision to go forward all the time possibly we can easily ship a login with a session, users, roles, permissions; but what if? It was obvious since the beginning an ABAC was going to be needed would that worth the complexity for starts?
@damianenglish-b6x
@damianenglish-b6x 14 күн бұрын
FFS, another word salad like all the other videos on this topic
@miguelangelocano9918
@miguelangelocano9918 14 күн бұрын
@Christopher Okhravi, what about spring singletons? Feature: Thread Safety Manual Singleton: Must ensure explicitly (e.g., static inner). Spring Singleton: Handled automatically by Spring. Feature: Ease of Use Manual Singleton: Requires boilerplate code. Spring Singleton: Simpler and more declarative. Feature: Testability Manual Singleton: Hard to mock. Spring Singleton: Can inject mocks using DI in tests. Feature: Flexibility Manual Singleton: Hard to replace or extend. Spring Singleton: Can configure beans dynamically. Do you see it as avoidable and violating best practices and principles?
@Anesu98
@Anesu98 15 күн бұрын
Thank you man very much
@derekreed6798
@derekreed6798 19 күн бұрын
How does AI change these?
@derekreed6798
@derekreed6798 19 күн бұрын
Until companies see the value of experience this will never be the case. Currently companies see AI as being the experience needed by junior devs. This may seem madness until you see who are making these decisions; managers who have never coded.
@derekreed6798
@derekreed6798 20 күн бұрын
Loved the lecture. You talk of covariance and contravariance but also invariance (the lack of or nullifying of variance). Are there examples of purely invariant code or are you saying use Generics, Classes or Functions to move to this state?
@shubhagytaswaraj5028
@shubhagytaswaraj5028 20 күн бұрын
Although it's called the Singleton Pattern, it subtly violates the Single Responsibility Principle (SRP) as it's responsible for two things : 1. To make sure that the class has only one instance 2. To provide global point of access to it.
@jLMPLife2010
@jLMPLife2010 20 күн бұрын
1926 version was removed : 1928 is a second edition
@NicoFye
@NicoFye 21 күн бұрын
Just learned about it, it's an amazing principle
@jgoodman75
@jgoodman75 22 күн бұрын
those quarking ducks
22 күн бұрын
Even in 2024 its relevant. Amazing tutorial.
@FaizKTG
@FaizKTG 22 күн бұрын
An hour video for one PATTERN? Yup I'm going to fail my exam.
@ajayc815
@ajayc815 22 күн бұрын
You're an absolute legend, even from seven years ago 🥰🥰🥰
@heathens2867
@heathens2867 23 күн бұрын
Why am I this late to the party? It's been 7 years, and I was totally unaware whole that time.
@boycovclub
@boycovclub 23 күн бұрын
function SemiGroup(value) { this.value = value } SemiGroup.prototype.concat = function(semigroup) { if (this.constructor.name !== semigroup.constructor.name || this.constructor.prototype !== semigroup.constructor.prototype) { throw new Error('not type') } return new SemiGroup(this.value + semigroup.value) } const foo = new SemiGroup(1) const bar = new SemiGroup(5) console.log(foo.concat(bar))
@souhardyahalder3903
@souhardyahalder3903 24 күн бұрын
Explain how in this example it provides global access!?? When I say it does it mean class?? So how a class with no global access look like?
@OtherTheDave
@OtherTheDave 24 күн бұрын
In Swift, "MutableCollection" inherits from "Collection". Seems like .Net could solve some conceptual problems if they did the same. Well, "IMutableCollection", I suppose, since MS seems to think the name defines what something is as opposed to just looking at the AST and checking if it's an interface or a class. Remindsof them thinking i can change a file from Word to a PDF just by renaming it.
@p-niddy
@p-niddy 24 күн бұрын
I don't understand why you wouldn't just define quack() in the superclass and overload it in any of the subclasses? Doesn't that achieve the same thing?
@chaitanyakabra7049
@chaitanyakabra7049 26 күн бұрын
i can't believe this playlist was release 7 years ago , it still is so relevant in 2024.
@GordonRoland
@GordonRoland 26 күн бұрын
I guess an old dog can learn new tricks. (arf, arf!)
@aayushshrivastav7515
@aayushshrivastav7515 27 күн бұрын
Anyone thinking how before pointcuts might fit in? Would it be better or worse?
@razzz2042
@razzz2042 27 күн бұрын
What would the generic Factory be in teh asteroids example? The class that AsteroidFactory and PowerupFactory would inherit from?
@oblakus
@oblakus 29 күн бұрын
The best video on strategy pattern. Pure 💎
@PawanGupta6186
@PawanGupta6186 29 күн бұрын
Mind-blowing, explanation. Thank you so much.
@rattlin9194
@rattlin9194 Ай бұрын
One thing I keep tripping up on.. Is an Interface a Class? Because it sounds like we're taking a class (of say, different ingredients..) and just breaking it down into its more fundamental components (ingredients) so that other sub classes can cherry-pick exactly what they need
@fayazmohammad8545
@fayazmohammad8545 Ай бұрын
I love your teaching pattern. And I want to learn all these patterns from this playlist.
@Elsalayf
@Elsalayf Ай бұрын
ربنا يوفقك ويسعدك تم عندك
@forestpandabath
@forestpandabath Ай бұрын
Now I finally understand interfaces and the Strategy Pattern ! Amazing job!!
@ta-cvig
@ta-cvig Ай бұрын
this is the best explanation I have come across. Makes it easier to remember and easier to convey the message to fellow devs
@ChristopherSalisburySalz
@ChristopherSalisburySalz Ай бұрын
This is avery succinct and simple explanation of when to use subtypes versus interfaces. I've never heard it expressed in those specific terms.
@devinlauderdale9635
@devinlauderdale9635 Ай бұрын
so contravariance === generics?
@friedwm
@friedwm Ай бұрын
great explanation! Thanks bro.
@VishalGahlot
@VishalGahlot Ай бұрын
Crazy explanation, bro! No one will forget this concept now.
@kasandrop
@kasandrop Ай бұрын
What's missing is that we separate the invoker from a receiver. Therefore , we gain scalability, maintainability and reusability.