From 76dbfb696a0a4b33ca44ad3a749074a80b6dd3c5 Mon Sep 17 00:00:00 2001 From: xzh Date: Sat, 24 Jul 2021 21:31:50 +0800 Subject: [PATCH 1/2] refactor: apply aggregate pattern in app/service/location --- app/services/location/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/services/location/__init__.py b/app/services/location/__init__.py index 6d292b54..18dc5d68 100644 --- a/app/services/location/__init__.py +++ b/app/services/location/__init__.py @@ -2,6 +2,13 @@ from abc import ABC, abstractmethod +class LocationServices: + def __init__(self,location_services: list[LocationService]): + self.location_services = location_services + + def add_service(self,location_service): + self.location_services.append(location_service) + class LocationService(ABC): """ Service for retrieving locations. From fdbc003c3521e2f97757e565eb89cdf5c9b08e8f Mon Sep 17 00:00:00 2001 From: xzh Date: Sat, 24 Jul 2021 23:24:56 +0800 Subject: [PATCH 2/2] refactor: apply aggregate pattern in app/location --- app/location/__init__.py | 9 +++++++++ app/services/location/__init__.py | 3 +++ 2 files changed, 12 insertions(+) diff --git a/app/location/__init__.py b/app/location/__init__.py index 1da5e9e5..af203f7c 100644 --- a/app/location/__init__.py +++ b/app/location/__init__.py @@ -3,6 +3,15 @@ from ..utils import countries from ..utils.populations import country_population +class Locations: + def __init__(self,locations: list[Location]): + self.locations = locations + + def add_service(self,location): + self.locations.append(location) + + def get_location(self): + return locations # pylint: disable=redefined-builtin,invalid-name class Location: # pylint: disable=too-many-instance-attributes diff --git a/app/services/location/__init__.py b/app/services/location/__init__.py index 18dc5d68..981dc770 100644 --- a/app/services/location/__init__.py +++ b/app/services/location/__init__.py @@ -9,6 +9,9 @@ def __init__(self,location_services: list[LocationService]): def add_service(self,location_service): self.location_services.append(location_service) + def get_service(self): + return location_services + class LocationService(ABC): """ Service for retrieving locations.