Generation gap (pattern)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description Generation gap is a software design pattern documented by John Vlissides that treats automatically generated code differently than code that was written by a developer. Modifications should not be made to generated code, as they would be overwritten if the code generation process was ever re-run, such as during recompilation.[1] Vlissides proposed creating a subclass of the generated code which contains the desired modification.[2] This might be considered an example of the template method pattern.

Modern languages

Modern byte-code language like Java were in their early stages when Vlissides developed his ideas. In a language like Java or C#, this pattern may be followed by generating an interface, which is a completely abstract class. The developer would then hand-modify a concrete implementation of the generated interface.

References

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".


Template:Asbox