Python: Advanced Design Patterns (2018)
1h 25mAdvanced2018-02-21
Authors

Jungwoo Ryoo
Teaches IT, cybersecurity, and risk analysis at Penn State
Course details
Design patterns encourage clean programming. In this course, take a look at some advanced design patterns as applied to Python. Instructor Jungwoo Ryoo begins by looking at why-or why not-use design patterns in the first place. Jungwoo then steps through some design best practices, going over topics such as quality attributes and domain-specific patterns. He also introduces some practical design patterns described by the Gang of Four, including Command, Interpreter, and Memento. Plus, he helps you grasp how these patterns actually work at the code level by walking through sample scripts.
Learning objectives
Architectural vs. design patterns
Why use design patterns?
Design best practices
Domain-specific patterns and security patterns
Gang of Four design patterns
Command, Mediator, and State
Template method
Learning objectives
Architectural vs. design patterns
Why use design patterns?
Design best practices
Domain-specific patterns and security patterns
Gang of Four design patterns
Command, Mediator, and State
Template method
Skills covered
Software Design PatternsPythonProgramming LanguagesOpen SourceSoftware DevelopmentDeep Dive (X:Y)
Concepts
Introduction
- Welcome
- What you should know before watching this course
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
- Command
- Command example
- Interpreter
- Interpreter example
- Practitioner's perspective - Practice
Gang of Four (GoF) Patterns, Part 2
- Mediator
- Mediator example
- Memento
- Memento example
- State
- State example
- Template method
- Template method example
- Practitioner's perspective - Development
Conclusion
- Next steps