Esempio n. 1
0
from director import Director
from builder import ConcreteBuilder1

if __name__ == "__main__":

    director = Director()
    concrete_builder_1 = ConcreteBuilder1()
    director.builder = concrete_builder_1

    director.simple_config()
    simple_product = concrete_builder_1.product
    simple_product.list_parts()

    director.advanced_config()
    advanced_product = concrete_builder_1.product
    advanced_product.list_parts()








Esempio n. 2
0
# Builder Pattern is used when:
# (1) The creation algorithm of a complex object is independent from the parts
# that actually compose the object.

# (2) The system needs to allow different representations for the objects that
# are being built.

# Use cases:
# Vehicle Manufacturing
# Student Tests
from director import Director
from builders import ConcreteBuilder1
if __name__ == "__main__":

    director = Director()
    builder = ConcreteBuilder1()
    director.builder = builder

    print("Standard basic product: ")
    director.build_minimal_viable_product()
    builder.product.list_parts()

    print("\n\nStandard full featured product: ")
    director.build_full_featured_product()
    builder.product.list_parts()

    print("\n\nCustom product: ")
    builder.produce_part_a()
    builder.produce_part_b()
    builder.product.list_parts()