Python: Advanced Design Patterns

Python: Advanced Design Patterns

1h 38mAdvanced2025-02-26

Authors

Jungwoo Ryoo

Jungwoo Ryoo

Teaches IT, cybersecurity, and risk analysis at Penn State

Course details

Design patterns encourage clean programming. In this course, Jungwoo Ryoo—a professor of information sciences and technology—guides you through several advanced design patterns as applied to Python. Explore why—or why not—you may want to use design patterns in the first place. Step through some design best practices, including topics such as quality attributes and domain-specific patterns. Delve into a series of practical design patterns described by the Gang of Four, including Command, Interpreter, and Memento. Plus, find out how these patterns actually work at the code level as you explore sample scripts.

Learning objectives
Define architectural vs. design patterns.
Identify why to use design patterns.
Articulate design best practices.
Understand domain-specific patterns and security patterns.
Summarize Gang of Four design patterns.
Define Command, Mediator, and State.
Assess the template method.

Skills covered

Software Design PatternsPythonProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off

Concepts

Introduction

  • Welcome
  • What you should know
  • Explore the code challenge environment

Understanding Design Patterns - Review

  • What is a design pattern
  • Architectural vs. design patterns
  • Patterns and frameworks
  • Design pattern adoption
  • Python as an object-oriented programming (OOP) language
  • Why use design patterns, or why not

Design Best Practices

  • Quality attributes and design patterns
  • Domain-specific patterns
  • Security patterns
  • Case study - Intercepting validator
  • Intercepting validator example

Gang of Four (GoF) Patterns, Part 1

  • Facade
  • Facade example
  • Solution - Facade
  • Command
  • Command example
  • Interpreter
  • Interpreter example
  • Solution - Interpreter
  • Practitioner's perspective - Practice

Gang of Four (GoF) Patterns, Part 2

  • Mediator
  • Mediator example
  • Memento
  • Memento example
  • Solution - Memento
  • State
  • State example
  • Solution - State
  • Template method
  • Template method example
  • Solution - Template
  • Practitioner's perspective - Development

Conclusion

  • Next steps
40,000 Toman