When used together, code generators and patterns also help avoid the criticalgap that can potentially occur between the design phase and the actual coding.
Bridging the gap between requirements and code with a design model is critical; it catches mistakes and faulty assumptions long before development and testing.