From af81aef07cd7893f591505afd5aa457e78fdaa12 Mon Sep 17 00:00:00 2001 From: Stefan Allius Date: Sun, 22 Sep 2024 10:29:38 +0200 Subject: [PATCH] add object factory --- app/src/object_factory.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 app/src/object_factory.py diff --git a/app/src/object_factory.py b/app/src/object_factory.py new file mode 100644 index 0000000..7dd20cb --- /dev/null +++ b/app/src/object_factory.py @@ -0,0 +1,13 @@ + +class ObjectFactory: + def __init__(self): + self._builders = {} + + def register_builder(self, key, builder): + self._builders[key] = builder + + def create(self, key, **kwargs): + builder = self._builders.get(key) + if not builder: + raise ValueError(key) + return builder(**kwargs)