Interfaces and Abstractions: Programming Against Contracts

📰 Medium · Programming

Learn to program against contracts, focusing on what software does, not how it's done, to achieve good design

intermediate Published 19 Aug 2026
Action Steps
  1. Define interfaces based on required functionality
  2. Use abstraction to hide implementation details
  3. Program against contracts to decouple dependencies
  4. Apply design principles to improve code readability
  5. Test and refine interfaces for better maintainability
Who Needs to Know This

Software engineers and developers can benefit from this approach to improve code maintainability and scalability

Key Insight

💡 Depend on what software does, not how it's done, for better design

Share This
💡 Program against contracts, not implementations! #softwareDesign #programming

Key Takeaways

Learn to program against contracts, focusing on what software does, not how it's done, to achieve good design

Full Article

Good software design is often about depending on what something does, not how it does it. Continue reading on Medium »
Read full article → ☆ Save to playlist ← Back to Reads

Related Videos

System Design Interview Prep for Beginners (Full Course)
System Design Interview Prep for Beginners (Full Course)
KodeKloud
Podcast Ep279: Manufacturers Have a Decision Problem, There Is No One Size Fits All ERP
Podcast Ep279: Manufacturers Have a Decision Problem, There Is No One Size Fits All ERP
Third Stage Consulting Group
Linux Command Every Engineer Should Use!
Linux Command Every Engineer Should Use!
KodeKloud
System Design: Notifying 50 Million Users in One Shot 🔔
System Design: Notifying 50 Million Users in One Shot 🔔
KodeKloud
Podcast Ep279: Manufacturers Have a Decision Problem, There Is No One Size Fits All ERP
Podcast Ep279: Manufacturers Have a Decision Problem, There Is No One Size Fits All ERP
Digital Transformation with Eric Kimberling
HTML JavaScript Canvas
HTML JavaScript Canvas
Stephen Blum