Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Generation gap (pattern)

From Wikipedia, the free encyclopedia

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

[edit]

Modern byte-code language like Java were in their early stages when Vlissides developed his ideas. In a language like C# or Java, 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.

C# have support for partial classes which is a class whose definition may be split into multiple pieces, within a single source-code file or across multiple files.

References

[edit]
  1. Fowler, Martin. "Generation Gap". martinfowler.com/. Retrieved 9 August 2014.
  2. Vlissides, John (1998-06-22). Pattern Hatching: Design Patterns Applied. Addison-Wesley Professional. pp. 85–101. ISBN 978-0201432930.