File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111class Director (object ):
1212
1313 def __init__ (self ):
14- self .builder = None
14+ self ._builder = None
15+
16+ def set_builder (self , builder ):
17+ self ._builder = builder
1518
1619 def construct_building (self ):
17- self .builder .new_building ()
18- self .builder .build_floor ()
19- self .builder .build_size ()
20+ self ._builder .new_building ()
21+ self ._builder .build_floor ()
22+ self ._builder .build_size ()
2023
2124 def get_building (self ):
22- return self .builder .building
25+ return self ._builder .building
2326
2427
2528# Abstract Builder
@@ -65,11 +68,11 @@ def __repr__(self):
6568# Client
6669if __name__ == "__main__" :
6770 director = Director ()
68- director .builder = BuilderHouse ()
71+ director .set_builder ( BuilderHouse () )
6972 director .construct_building ()
7073 building = director .get_building ()
7174 print (building )
72- director .builder = BuilderFlat ()
75+ director .set_builder ( BuilderFlat () )
7376 director .construct_building ()
7477 building = director .get_building ()
7578 print (building )
You can’t perform that action at this time.
0 commit comments