Python Design Patterns: Principles of Good Design


Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description

Explore how the SOLID principles can help to make software designs easier to understand and maintain for Python developers. In this 14-video course, learners will examine the five SOLID principles—Single Responsibility, Open/Closed, Liskov's Substitution, Interface Segregation, and Dependency Inversion—as well as creational, structural, and behavioral design patterns. Key concepts covered here include the basic principles of good design in code; learning the Single Responsibility and Open/Closed principles of good design; and learning the Liskov's Substitution, Interface Segregation, and Dependency Inversion principles of good design. Next, learners will examine the principle of Least Knowledge and the Hollywood principle of good design; examine issues that may arise when classes do not implement the principle of Single Responsibility; and observe how to implement the principles of Single Responsibility and Open/Closed. Continue by learning how to design and implement the Liskov's Substitution principle, the Interface Segregation principle, and the Dependency Inversion principle. Finally, learners will study the three broad categories of design patterns and when to use each of them.



Expected Duration (hours)
1.6

Lesson Objectives

Python Design Patterns: Principles of Good Design

  • discover the key concepts covered in this course
  • recall the basic principles of good design in code
  • describe the Single Responsibility and Open/Closed principles of good design
  • describe the Liskov's Substitution, Interface Segregation, and Dependency Inversion principles of good design
  • describe the principle of Least Knowledge and the Hollywood principle of good design
  • recognize issues that may arise when classes do not implement the principle of Single Responsibility
  • design and implement the principle of Single Responsibility
  • design and implement the Open/Closed principle
  • design and implement the Liskov's Substitution principle
  • design and implement the Interface Segregation principle
  • design and implement the Dependency Inversion principle
  • recall the three broad categories of design patterns
  • describe the three types of design patterns and when to use each
  • summarize the key concepts covered in this course
  • Course Number:
    it_pydppydj_01_enus

    Expertise Level
    Expert