Я нахожусь в процессе реализации шаблона Abstract Factory Design.Сценарий, который я рассмотрел, приведен ниже.
.Авторы статьи и изображения взяты из https://medium.com/@hitherejoe/design-patterns-abstract-factory-39a22985bdbf. Я пытаюсь реализовать в Python, и я застрял и не могу двигаться вперед по следующей причине
Когда вы определяете ThemeFactory как интерфейс в Pythonто какие бы методы вы не определили в ThemeFacory, они должны быть реализованы в конкретных классах, таких как LightTheme и DarkTheme.
Но меня беспокоит, есть ли необходимость предоставлять реализацию метода createLightTheme
в классе Concrete DarkTheme
и наоборот.Нужно ли мне перепроектировать всю архитектуру?
import abc
class ThemeFactory(metaclass=abc.ABCMeta):
@abc.abstractmethod
def createdarktheme(self):
pass
@abc.abstractmethod
def createlighttheme(self):
pass
class DarkTheme(ThemeFactory):
def createdarktheme(self):
print('Hello created dark theme')
def createlighttheme(self):
pass
if __name__== '__main__':
dark = DarkTheme()
dark.createdarktheme()