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

Project 2 – Attack of the Orcs v10.1.0


Let's work on another small project. In fact, this is exactly the same hut game we developed in Project-1 – Attack of the Orcs V10.0.0 earlier. The difference is the underlying architecture. We will rewrite the program to implement the MVC architecture.

Revisiting the HutGame class

In the first project, we wrote the HutGame class. Let's pull up the diagram representing the high-level structure of this class:

Based on the functionality, the methods of this class can be roughly placed into three categories, namely model, view, and the controller. The preceding diagram shows this division. We also need to further update a few of these methods.

Creating MVC classes

In the previous section, we earmarked the methods of the old class HutGame into three broad categories. It is now time to say goodbye to this class. We will break it down and split its methods among the three new classes, Model, View, and Controller. Of course, you can give more descriptive names...