commit design_pattern