Book Image

Learning Python Application Development

By : Ninad Sathaye
Book Image

Learning Python Application Development

By: Ninad Sathaye

Overview of this book

Python is one of the most widely used dynamic programming languages, supported by a rich set of libraries and frameworks that enable rapid development. But fast paced development often comes with its own baggage that could bring down the quality, performance, and extensibility of an application. This book will show you ways to handle such problems and write better Python applications. From the basics of simple command-line applications, develop your skills all the way to designing efficient and advanced Python apps. Guided by a light-hearted fantasy learning theme, overcome the real-world problems of complex Python development with practical solutions. Beginning with a focus on robustness, packaging, and releasing application code, you’ll move on to focus on improving application lifetime by making code extensible, reusable, and readable. Get to grips with Python refactoring, design patterns and best practices. Techniques to identify the bottlenecks and improve performance are covered in a series of chapters devoted to performance, before closing with a look at developing Python GUIs.
Table of Contents (18 chapters)
Learning Python Application Development
Credits
Disclaimers
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

MVC architecture


MVC is a widely used software architectural pattern in GUI-based applications. It has three components, namely a model that deals with the business logic, a view for the user interface, and a controller to handle the user input, manipulate data, and update the view. The following is a simplified schematic that shows the basic interactions between the various components:

Let's further discuss each of these components.

Model

The model component of the MVC architecture represents the data of the application. It also represents the core business logic that acts on such data. The model has no knowledge of the view or the controller. When the data in the model changes, it just notifies its listeners about this change. In this context, the controller object is its listener.

View

The view component is the user interface. It is responsible for displaying the current state of the model to the user, and also provides a means for the user to interact with the application. If a user action...