Book Image

Hands-On Enterprise Application Development with Python

By : Saurabh Badhwar
Book Image

Hands-On Enterprise Application Development with Python

By: Saurabh Badhwar

Overview of this book

Dynamically typed languages like Python are continuously improving. With the addition of exciting new features and a wide selection of modern libraries and frameworks, Python has emerged as an ideal language for developing enterprise applications. Hands-On Enterprise Application Development with Python will show you how to build effective applications that are stable, secure, and easily scalable. The book is a detailed guide to building an end-to-end enterprise-grade application in Python. You will learn how to effectively implement Python features and design patterns that will positively impact your application lifecycle. The book also covers advanced concurrency techniques that will help you build a RESTful application with an optimized frontend. Given that security and stability are the foundation for an enterprise application, you’ll be trained on effective testing, performance analysis, and security practices, and understand how to embed them in your codebase during the initial phase. You’ll also be guided in how to move on from a monolithic architecture to one that is service oriented, leveraging microservices and serverless deployment techniques. By the end of the book, you will have become proficient at building efficient enterprise applications in Python.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

The Singleton pattern


The Singleton pattern is one of the patterns that finds its place in the book by Gang of Four, and which can have various uses where all we want is a class to have a single instance throughout an application.

The Singleton pattern enforces that a class will have only one instance that will be used by any of the components/modules inside an application. This kind of enforcement can be useful when we want to control the access to a resource using only one object. These type of resources can be log files, databases, crash-handling mechanisms, and so on.

In most of the OOP-based languages, to implement the Singleton pattern, the first step is to make the class constructor private and then use a static method inside a class to return the same instance whenever some part of the code needs to use the functionality of the class. In Python, we do not have the functionality of having a private constructor, so, how can we implement the Singleton pattern?

The answer to this question...