Python: Advanced Design Patterns
1h 38mAdvanced2025-02-26
Authors

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.
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
0. Introduction
- 01 - Welcome
- 02 - What you should know
- 03 - Explore the code challenge environment
1. Understanding Design Patterns - Review
- 04 - What is a design pattern
- 05 - Architectural vs. design patterns
- 06 - Patterns and frameworks
- 07 - Design pattern adoption
- 08 - Python as an object-oriented programming (OOP) language
- 09 - Why use design patterns, or why not
2. Design Best Practices
- 10 - Quality attributes and design patterns
- 11 - Domain-specific patterns
- 12 - Security patterns
- 13 - Case study - Intercepting validator
- 14 - Intercepting validator example
3. Gang of Four (GoF) Patterns, Part 1
- 15 - Facade
- 16 - Facade example
- 17 - Solution - Facade
- 18 - Command
- 19 - Command example
- 20 - Interpreter
- 21 - Interpreter example
- 22 - Solution - Interpreter
- 23 - Practitioner's perspective - Practice
4. Gang of Four (GoF) Patterns, Part 2
- 24 - Mediator
- 25 - Mediator example
- 26 - Memento
- 27 - Memento example
- 28 - Solution - Memento
- 29 - State
- 30 - State example
- 31 - Solution - State
- 32 - Template method
- 33 - Template method example
- 34 - Solution - Template
- 35 - Practitioner's perspective - Development
Conclusion
- 36 - Next steps