Python: Master the Art of Design Patterns
- Length: 784 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2016-09-30
- ISBN-10: 1787125181
- ISBN-13: 9781787125186
- Sales Rank: #2904348 (See Top 100 Books)
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. 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. Start with the bedrock of Python programming – the objectoriented paradigm. 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. 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.
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
Table of Contents
Module 1: Python 3 Object-Oriented Programming – Second Edition
Chapter 1: Object-oriented Design
Chapter 2: Objects in Python
Chapter 3: When Objects Are Alike
Chapter 4: Expecting the Unexpected
Chapter 5: When to Use Object-oriented Programming
Chapter 6: Python Data Structures
Chapter 7: Python Object-oriented Shortcuts
Chapter 8: Strings and Serialization
Chapter 9: The Iterator Pattern
Chapter 10: Python Design Patterns I
Chapter 11: Python Design Patterns II
Chapter 12: Testing Object-oriented Programs
Chapter 13: Concurrency
Module 2: Learning Python Design Patterns – Second Edition
Chapter 1: Introduction to Design Patterns
Chapter 2: The Singleton Design Pattern
Chapter 3: The Factory Pattern – Building Factories to Create Objects
Chapter 4: The Façade Pattern – Being Adaptive with Façade
Chapter 5: The Proxy Pattern – Controlling Object Access
Chapter 6: The Observer Pattern – Keeping Objects in the Know
Chapter 7: The Command Pattern – Encapsulating Invocation
Chapter 8: The Template Method Pattern – Encapsulating Algorithm
Chapter 9: Model-View-Controller – Compound Patterns
Chapter 10: The State Design Pattern
Chapter 11: AntiPatterns
Module 3: Mastering Python Design Patterns
Chapter 1: The Factory Pattern
Chapter 2: The Builder Pattern
Chapter 3: The Prototype Pattern
Chapter 4: The Adapter Pattern
Chapter 5: The Decorator Pattern
Chapter 6: The Facade Pattern
Chapter 7: The Flyweight Pattern
Chapter 8: The Model-View-Controller Pattern
Chapter 9: The Proxy Pattern
Chapter 10: The Chain of Responsibility Pattern
Chapter 11: The Command Pattern
Chapter 12: The Interpreter Pattern
Chapter 13: The Observer Pattern
Chapter 14: The State Pattern
Chapter 15: The Strategy Pattern
Chapter 16: The Template Pattern