Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Learning SOLID Programming Principles

Learning SOLID Programming Principles

1h 50mIntermediate2022-03-09

Authors

Steven Lott

Steven Lott

Software Developer and Architect

Course details

There are many principles that support good object-oriented design and programming. Five of these principles are described by SOLID: single responsibility, open-closed, Liskov substitution, interface segregation, and dependency inversion. These principles guide the creation of stable, scalable, and robust code.

To incorporate SOLID into your own development workflow, Steven Lott has prepared a series of lessons that break down the principles one by one, with real-world examples. Learn how to use these principles in the design process, and to test the strength of your code along the way. Steven uses Python to demonstrate the concepts, but they're useful for any object-oriented programming language.

Skills covered

Software DesignProgramming FoundationsPythonLearningOpen SourceSoftware Development

Concepts

Introduction to SOLID Programming

  • 01 - Benefits of SOLID Programming Principles
  • 02 - What could go wrong
  • 03 - What could go wrong Part 2
  • 04 - Overview of the SOLID principles

1. Interface Segregation Principle

  • 05 - Introduction to the Interface Segregation Principle
  • 06 - Problem domain objects - Individual data samples
  • 07 - Collections of samples
  • 08 - Reading and building samples

2. Liskov Substitution Principle

  • 09 - Introduction to the Liskov Substitution Principle
  • 10 - Duck Typing
  • 11 - Interface variations
  • 12 - Avoiding isinstance()

3. The Open Closed Design Principle

  • 13 - Introduction to the Open Closed Design Principle
  • 14 - Modifying a class and fixing bugs
  • 15 - OCP via inheritance and composition
  • 16 - More OCP extension techniques

4. Dependency Inversion Principle

  • 17 - Introduction to the Dependency Inversion Principle
  • 18 - Dependency injection and application configuration
  • 19 - Testing consequences

5. Single-Responsibility Principle

  • 20 - Introduction to single responsibility
  • 21 - GRASP patterns - High cohesion and indirection
  • 22 - More GRASP patterns

6. A Design Process

  • 23 - CRC cards
  • 24 - Test-driven design

Conclusion

  • 25 - Apply SOLID principles to your work

Related courses

Related learn paths

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
zarinpal
zibal