Simple Python Factory pattern
This module provides a simple way to prevent the direct creation of an instance of a class. Instead a classmethod of this class can be used.
Install
You can install this python module via pip:
pip install simple-factory-pattern
Otherwise the module can be downloaded from PyPI: https://pypi.org/project/simple-factory-pattern/
Usage
-
Import the module:
from simple_factory_pattern import FactoryPatternMeta
-
Create a class that uses the above meta class:
class NewClass(metaclass=FactoryPatternMeta): pass
-
Add a
classmethodto the new class that returns an instance of the class:@classmethod def create_instance(cls): return NewClass()
You can choose any name for the method. But it must be a
classmethod!It's also possible to define multiple
classmethods. Only in those methods a new instance of the class can be created.
Behavior of the new class
It's not possible to create an instance of the class directly:
instance = NewClass() # this will fail
This throws a FactoryException (also included in the simple_factory_pattern package).
The only way to get an instance is to call the above definded classmethod:
instance = NewClass.create_instance() # this works
Metadata
Release files for simple-factory-pattern 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simple_factory_pattern-2.0.0.tar.gz | 14.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simple_factory_pattern-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.4 kB
Release files / simple_factory_pattern-2.0.0.tar.gz
| Download URL | simple_factory_pattern-2.0.0.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1406f9b9e2b2b5360570840469545512a552a709ec6632780da86c5d904b36d9
|
|
BLAKE2b-256 checksum How to use checksums |
e075dd31559f735150c0332f27a403a52e13cdb87787e31a7399fa9e6f8bfa80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.7.17 Linux/6.2.0-1012-azure
|
Release files / simple_factory_pattern-2.0.0-py3-none-any.whl
| Download URL | simple_factory_pattern-2.0.0-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aee1ed36d8985c4cf3f2093e00b251a2ed8a400753875af678ae12bde0faad77
|
|
BLAKE2b-256 checksum How to use checksums |
6a3c6484481a7c4716a5b6cceea867fda679ea42b1d3fcdd7b7915a26d20e74a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.7.17 Linux/6.2.0-1012-azure
|