Always Use Interfaces
How to follow the principle of Couple To Abstractions, Not Concretions, and how to avoid tempting others to break the rule. 🎓 Get the book: https://geni.us/hNDE 💚 BUY MY BOOK: https://theobjectorientedway.com Watch before:    • The Only Time You Should Use Polymorphism  Watch next:    • Depend on Abstractions not Concretions (Fr...  FURTHER RECOMMENDED READING: https://geni.us/zzlx (Dependency Injection: Principles, Practices, and Patterns) https://geni.us/IBhtLnh (Clean Architecture) https://geni.us/k8KhT3 (Refactoring) https://geni.us/nlbA6 (Head First: Design Patterns) 00:00 Intro 00:26 The rule 01:10 Problem 1 02:29 Problem 2 03:44 Solution 05:33 Motivation 07:05 Summary

▶︎
Interfaces vs Abstract Classes / Inheritance | Programming concept overview

▶︎
Depend on Abstractions not Concretions (Framework)

▶︎
Java Parallel Streams & Functional Composition (Higher Order Functions) | Java Mastery Series

▶︎
The Only Time You Should Use Polymorphism

▶︎
When Microsoft Violated Liskov Substitution Principle in .NET

▶︎
Only Use Inheritance If You Want Both of These

▶︎
Nothing Wrong With Procedural Programming?

▶︎
Interfaces in C# - What they are, how to use them, and why they are so powerful.

▶︎
How To Think SO CLEARLY People Assume You're A Genius

▶︎
Martin Fowler @ OOP2014 "Workflows of Refactoring"

▶︎
Rules Have Reasons (Always Ask Why)

▶︎
Command Pattern – Design Patterns (ep 7)

▶︎
Abstract Classes and Interfaces

▶︎
Observer Pattern – Design Patterns (ep 2)

▶︎
Java Interface Tutorial

▶︎
Responsibility Driven Design Revisited - Ian Cooper - NDC Oslo 2025

▶︎
Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

▶︎
Reacting to Controversial Opinions of Software Engineers

▶︎
This Will Make Everyone Understand Golang Interfaces

▶︎
