Python: Design Patterns (2021)
2h 13mIntermediate2021-10-11
Authors

Jungwoo Ryoo
Teaches IT, cybersecurity, and risk analysis at Penn State
Course details
If you’re a programmer, you’re probably plenty busy, so why not save some time and avoid reinventing the wheel by reusing well-proven design solutions—software design patterns—to improve your code quality? Design patterns encourage programming efficiency and code reuse. In this course, Jungwoo Ryoo takes a look at traditional design patterns as applied to Python. Jungwoo Ryoo covers 15 essential creational, structural, and behavioral patterns to help you solve common coding challenges, while introducing best practices that can help keep your solutions consistent, complete, and correct.
Skills covered
Software Design PatternsPythonProgramming LanguagesOpen SourceSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Explore design patterns
- 02 - What you should know
1. Understanding Design Patterns
- 03 - What is a design pattern
- 04 - Types of design patterns
- 05 - Understanding object-oriented programming
- 06 - Working with inheritance and polymorphism
- 07 - Understanding pattern context
- 08 - Working with pattern language
2. Creational Patterns
- 09 - Factory
- 10 - Factory example
- 11 - Abstract factory
- 12 - Abstract factory example
- 13 - Singleton
- 14 - Singleton example
- 15 - Builder
- 16 - Builder example
- 17 - Prototype
- 18 - Prototype example
3. Structural Patterns
- 19 - Decorator
- 20 - Decorator example
- 21 - Proxy
- 22 - Proxy example
- 23 - Adapter
- 24 - Adapter example
- 25 - Composite
- 26 - Composite example
- 27 - Bridge
- 28 - Bridge example
4. Behavioral Patterns
- 29 - Observer
- 30 - Observer example
- 31 - Visitor
- 32 - Visitor example
- 33 - Iterator
- 34 - Iterator example
- 35 - Strategy
- 36 - Strategy example
- 37 - Chain of responsibility
- 38 - Chain of responsibility example
5. Design Best Practices
- 39 - Consistency with design patterns
- 40 - Programmers' mindset
Conclusion
- 41 - Next steps with design patterns
Related courses
- Asynchronous Python: Boost Performance and Efficiency for Real-World Apps
- Python: Design Patterns
- Python: Advanced Design Patterns (2018)
- Python: Advanced Design Patterns
- C#: Design Patterns Part 1
- Advanced Python: Build Hands-On Projects with Design Patterns (2023)
- Advanced Design Patterns: Design Principles
- Programming Foundations: Design Patterns
Related learn paths
- Advance Your Skills in Python
- Explore App Development with the MERN Stack
- Advance Your Data Skills in Apache Spark
- Advance Your Skills in the Hadoop/NoSQL Data Science Stack
- Moving from Data Analyst to Data Scientist
- Moving from Data Scientist to Data Analyst
- Get Started with PHP
- Develop Your Data Analysis Skills