本文主要是介绍python 设计模式-建造者模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
建造者模式中核心的角色是建造者和指导者,下面代码演示了一个产品建造的过程:
from abc import ABCMeta, abstractmethod, abstractpropertyclass Product:def __init__(self):self._parts = []def info(self):print('\n'.join(self._parts))class Builder(metaclass=ABCMeta):@abstractpropertydef product(self):pass@abstractmethoddef build_product_part1(self):pass@abstractmethoddef build_product_part2(self):pass@abstractmethoddef build_product_part3(self):passdef build(self):return self.productclass ConcreteBuilder(Builder):def __init__(self):self._product = Product()@propertydef product(self):return self._product@product.setterdef product(self, value): self._product = valuedef build_product_part1(self):self._product._parts.append('cp1')def build_product_part2(self):self._product._parts.append('cp2')def build_product_part3(self):self._product._parts.append('cp3')class Director:def __init__(self, builder):self._builder = builderdef direct(self): self._builder.build_product_part1()self._builder.build_product_part2()self._builder.build_product_part3()if __name__ == '__main__':b = ConcreteBuilder()d = Director(b)d.direct()b.product.info()
输出:
cp1
cp2
cp3
这篇关于python 设计模式-建造者模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!