design_pattern_reconstruction