Book description
Leverage the power of Python design patterns to solve real-world problems in software architecture and design
Key Features
- [*] 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
- [*] Get practical exposure through sample implementations in Python v3.5 for the design patterns featured
Book Description
With the increasing focus on optimized software architecture and design it is important that software architects think about optimizations in object creation, code structure, and interaction between objects at the architecture or design level. This makes sure that the cost of software maintenance is low and code can be easily reused or is adaptable to change. The key to this is reusability and low maintenance in design patterns.
Building on the success of the previous edition, Learning Python Design Patterns, Second Edition will help you implement real-world scenarios with Python’s latest release, Python v3.5.
We start by introducing design patterns from the Python perspective. As you progress through the book, you will learn about Singleton patterns, Factory patterns, and Façade patterns in detail. After this, we’ll look at how to control object access with proxy patterns. It also covers observer patterns, command patterns, and compound patterns.
By the end of the book, you will have enhanced your professional abilities in software architecture, design, and development.
What you will learn
- [*] Enhance your skills to create better software architecture
- [*] Understand proven solutions to commonly occurring 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
- [*] Delve into the object-oriented programming concepts and find out how they are used in software applications
- [*] Develop an understanding of Creational Design Patterns and the different object creation methods that help you solve issues in software development
- [*] Use Structural Design Patterns and find out how objects and classes interact to build larger applications
- [*] Focus on the interaction between objects with the command and observer patterns
- [*] Improve the productivity and code base of your application using Python design patterns
Who this book is for
This book is for Software architects and Python application developers who are passionate about software design. It will be very useful to engineers with beginner level proficiency in Python and who love to work with Python 3.5
Table of contents
-
Learning Python Design Patterns Second Edition
- Table of Contents
- Learning Python Design Patterns Second Edition
- Credits
- Foreword
- About the Author
- About the Reviewer
- www.PacktPub.com
- Preface
- 1. Introduction to Design Patterns
-
2. The Singleton Design Pattern
- Understanding the Singleton design pattern
- Lazy instantiation in the Singleton pattern
- Module-level Singletons
- The Monostate Singleton pattern
- Singletons and metaclasses
- A real-world scenario – the Singleton pattern, part 1
- A real-world scenario – the Singleton pattern, part 2
- Drawbacks of the Singleton pattern
- Summary
- 3. The Factory Pattern – Building Factories to Create Objects
- 4. The Façade Pattern – Being Adaptive with Façade
- 5. The Proxy Pattern – Controlling Object Access
- 6. The Observer Pattern – Keeping Objects in the Know
- 7. The Command Pattern – Encapsulating Invocation
- 8. The Template Method Pattern – Encapsulating Algorithm
- 9. Model-View-Controller – Compound Patterns
- 10. The State Design Pattern
- 11. AntiPatterns
- Index
Product information
- Title: Learning Python Design Patterns - Second Edition
- Author(s):
- Release date: February 2016
- Publisher(s): Packt Publishing
- ISBN: 9781785888038
You might also like
book
Mastering Python Design Patterns - Second Edition
Exploit various design patterns to master the art of solving problems using Python Key Features Master …
book
Python Programming with Design Patterns
Improve Your Python Code with Modern Object-Oriented Design Patterns To write clean, efficient, maintainable code, developers …
book
Advanced Python Programming - Second Edition
Write fast, robust, and highly reusable applications using Python's internal optimization, state-of-the-art performance-benchmarking tools, and cutting-edge …
book
Python Architecture Patterns
Make the best of your test suites by using cutting-edge software architecture patterns in Python Key …