Book Image

Learning Python Design Patterns

By : Gennadiy Zlobin
Book Image

Learning Python Design Patterns

By: Gennadiy Zlobin

Overview of this book

<p>Design pattern is a well-known approach to solve some specific problems which each software developer comes across during his work. Design patterns capture higher-level constructs that commonly appear in programs. If you know how to implement the design pattern in one language, typically you will be able to port and use it in another object-oriented programming language.</p> <p>The choice of implementation language affects the use of design patterns. Naturally, some languages are more applicable for certain tasks than others. Each language has its own set of strengths and weaknesses. In this book, we introduce some of the better known design patterns in Python. You will learn when and how to use the design patterns, and implement a real-world example which you can run and examine by yourself.</p> <p>You will start with one of the most popular software architecture patterns which is the Model- View-Controller pattern. Then you will move on to learn about two creational design patterns which are Singleton and Factory, and two structural patterns which are Facade and Proxy. Finally, the book also explains three behavioural patterns which are Command, Observer, and Template.</p>
Table of Contents (14 chapters)
Learning Python Design Patterns
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

About the Reviewers

David Corne is a professional Software Engineer based in Birmingham, UK. He works for an engineering company that makes CAD/CAM software. The application he is working on is written in C++ with a C# view layer in order to use WPF.

However, he has a keen interest in Python. He has made many varied applications in Python. These range from a real-time updating editor for Markdown, to a utility for dice rolling, and PDF reading.

Kamilla Holanda Crozara is in her last year of college and is studying Software Engineering and works at National Institute of Standards and Technology as a Guest Researcher. She started to learn Python around two years ago, and it's her favorite language although she has some experience with C, Java, and Perl languages. She's a Linux user and has a special interest in contributing towards open source projects.

Sakis Kasampalis is based in the Netherlands, where he currently works as a Software Engineer for a location-based content B2B provider. When he is not writing C++ and Rails code for a living, Sakis enjoys playing with his mbed microcontroller and studying about programming, software engineering, and operating systems.

He is not dogmatic about particular programming languages and tools; his principle is that the right tool should be used for the right job. One of his favorite tools is Python because he finds it very productive.

Among his FOSS activities is maintaining a GitHub repository related to implementing design patterns in Python, which is available at https://github.com/faif/python-patterns.