Заводской шаблон относится к категории списка шаблонов. Он предоставляет один из лучших способов создания объекта. В фабричном шаблоне объекты создаются без предоставления логики клиенту и обращения к вновь созданному объекту с использованием общего интерфейса.
Фабричные шаблоны реализованы в 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.