Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 3 loai man hinh: Viewsonic 123, HP 234, Samsung 345
- # 2 loai ban phim: Edra, Dareu
- # low: Viewsonic 123 - Edra
- # medium: HP 234 - Dareu
- # high: Samsung 345 - Dareu
- from abc import abstractmethod, ABC
- class AbstractScreen(ABC):
- @abstractmethod
- def getinfo():
- pass
- class ViewsonicScreen(AbstractScreen):
- def getinfo():
- pass
- class HPScreen(AbstractScreen):
- def getinfo():
- pass
- class SamsungScreen(AbstractScreen):
- def getinfo():
- pass
- class AbstractKeyboard(ABC):
- @abstractmethod
- def getinfo():
- pass
- class EdraKeyboard(AbstractScreen):
- def getinfo():
- pass
- class DareuKeyboard(AbstractScreen):
- def getinfo():
- pass
- class Factory():
- budget_map = {
- 'low': (ViewsonicScreen, EdraKeyboard),
- 'medium': (HPScreen, DareuKeyboard),
- 'high': (SamsungScreen, DareuKeyboard),
- }
- def get_screen(self, budget):
- return self.budget_map[budget][0]
- def get_keyboard(self, budget):
- return self.budget_map[budget][1]
- class AbstractFactory(ABC):
- @abstractmethod
- def get_screen(self, budget):
- pass
- @abstractmethod
- def get_keyboard(self, budget):
- pass
- class LowFactory(AbstractFactory):
- def get_screen(self, budget):
- return ViewsonicScreen()
- def get_keyboard(self, budget):
- return EdraKeyboard()
- def main():
- # budget = input()
- # if budget == 'low':
- # screen = ViewsonicScreen()
- # keyboard = EdraKeyboard()
- # elif budget == 'medium':
- # screen = HPScreen()
- # keyboard = DareuKeyboard()
- # elif budget == 'high':
- # screen = SamsungScreen()
- # keyboard = DareuKeyboard()
- # ============
- budget = input()
- factory = Factory()
- screen = factory.get_screen(budget)
- keyboard = factory.get_keyboard(budget)
Advertisement
Add Comment
Please, Sign In to add comment