Шаблоны проектирования Python - Завод
Заводской шаблон входит в категорию списка шаблонов создания. Это один из лучших способов создания объекта. В шаблоне фабрики объекты создаются без раскрытия логики клиенту и со ссылкой на вновь созданный объект с использованием общего интерфейса.
Фабричные шаблоны реализованы в Python с использованием фабричного метода. Когда пользователь вызывает метод, в котором мы передаем строку и возвращаемое значение как новый объект, реализуется через фабричный метод. Тип объекта, используемого в фабричном методе, определяется строкой, которая передается через метод.
В приведенном ниже примере каждый метод включает объект в качестве параметра, который реализуется через фабричный метод.
Как реализовать заводской шаблон?
Давайте теперь посмотрим, как реализовать фабричный шаблон.
class Button(object):
html = ""
def get_html(self):
return self.html
class Image(Button):
html = "<img></img>"
class Input(Button):
html = "<input></input>"
class Flash(Button):
html = "<obj></obj>"
class ButtonFactory():
def create_button(self, typ):
targetclass = typ.capitalize()
return globals()[targetclass]()
button_obj = ButtonFactory()
button = ['image', 'input', 'flash']
for b in button:
print button_obj.create_button(b).get_html()
Класс кнопки помогает создавать теги html и связанную с ними страницу html. У клиента не будет доступа к логике кода, а вывод представляет собой создание html-страницы.
Вывод
Объяснение
Код python включает логику тегов html, в которых указано значение. Конечный пользователь может просмотреть HTML-файл, созданный кодом Python.