YoVDO

Write SOLID Code & Impress your Friends

Offered By: SymfonyCasts

Tags

Object-oriented programming Courses Software Development Courses Software Design Courses

Course Description

Overview

Sure, writing object-oriented code starts with mastering the fundamentals: classes, objects, properties, etc. But without some guiding principles, writing object-oriented code is like using power tools... with no plan about what you're building! You will build something... but you might not be happy with the result... and the next programmer to see the project definitely won't be!

Say hello to SOLID: 5 famous principles, each designed to guide how you write object-oriented code so that it is flexible, understandable, and (most importantly) impresses your friends. In this course, we'll master these principles in a practical, real-world way:

  • Single responsibility
  • Open–closed
  • Liskov substitution
  • Interface segregation
  • Dinosaurs ?, I mean Dependency inversion

Let's sharpen our tools and write some great code!


Syllabus

  • SOLID: The Good, The Bad & The Real World
  • Single-Responsibility Principle: What is it?
  • SRP: Responsibilities
  • Refactoring for SRP
  • SRP: Takeaways
  • Open–Closed Principle
  • OCP: Autoconfiguration & tagged_iterator
  • OCP: Takeaways
  • Liskov Substitution Principle
  • Liskov: Unexpected Exceptions
  • Liskov: Substituting a Class
  • Liskov: What Changes *Are* Allowed?
  • Liskov Takeaways & Service Alias
  • Interface Segregation Principle
  • ISP: Refactoring & Takeaways
  • Dependency Inversion Principle
  • Refactoring Towards Dependency Inversion
  • DIP: Takeaways

Taught by

Diego Aguiar and Ryan Weaver

Related Courses

Learn to Program: Crafting Quality Code
University of Toronto via Coursera
Introduction to Agile Software Development: Tools & Techniques
University of California, Berkeley via edX
Software Architecture & Design
Georgia Institute of Technology via Udacity
Software Design for Non-Designers
mooc.house via Independent
Técnicas Avançadas para Projeto de Software
Instituto Tecnológico de Aeronáutica via Coursera