Шаблоны проектирования 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.