Ensure your code is sleek, efficient and elegant by mastering powerful Python design patterns
About This Book
* Learn all about abstract design patterns and how to implement them in Python 3
* Understand the structural, creational, and behavioral Python design patterns
* Get to know the context and application of design patterns to solve real-world problems in software architecture, design, and application development
* Discover how to simplify Design Pattern implementation using the power of Python 3
Who This Book Is For
If you have basic Python skills and wish to learn in depth how to correctly apply appropriate design patterns, this course is tailor made for you.
What You Will Learn
* Discover what design patterns are and how to apply them to writing Python
* Implement objects in Python by creating classes and defining methods
* Separate related objects into a taxonomy of classes and describe the properties and behaviors of those objects via the class interface
* Understand when to use object-oriented features, and more importantly when not to use them
* Get to know proven solutions to common design issues
* Explore the design principles that form the basis of software design, such as loose coupling, the Hollywood principle, and the Open Close principle, among others
* Use Structural Design Patterns and find out how objects and classes interact to build larger applications
* Improve the productivity and code base of your application using Python design patterns
* Secure an interface using the Proxy pattern
In Detail
Python is an object-oriented scripting language that is used in everything from data science to web development. Known for its simplicity, Python increases productivity and minimizes development time. Through applying essential software engineering design patterns to Python, Python code becomes even more efficient and reusable from project to project.
This learning path takes you through every traditional and advanced design pattern best applied to Python code, building your skills in writing exceptional Python. Divided into three distinct modules, you'll go from foundational to advanced concepts by following a series of practical tutorials.
Start with the bedrock of Python programming - the object-oriented paradigm. Rethink the way you work with Python as you work through the Python data structures and object-oriented techniques essential to modern Python programming. Build your confidence as you learn Python syntax, and how to use OOP principles with Python tools such as Django and Kivy.
In the second module, run through the most common and most useful design patterns from a Python perspective. Progress through Singleton patterns, Factory patterns, Facade patterns and more all with detailed hands-on guidance. Enhance your professional abilities in in software architecture, design, and development.
In the final module, run through the more complex and less common design patterns, discovering how to apply them to Python coding with the help of real-world examples. Get to grips with the best practices of writing Python, as well as creating systems architecture and troubleshooting issues.
This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:
* Python 3 Object-Oriented Programming - Second Edition by Dusty Phillips
* Learning Python Design Patterns - Second Edition by Chetan Giridhar
* Mastering Python Design Patterns by Sakis Kasampalis
Style and approach
Advance your Python code through three distinct modules that each build on preceding content. Get the complete coverage of Python design patterns you need to write elegant and efficient code that's reusable and powerful.