The definition I use for a pattern is an idea that has been useful in one practical context and will probably be useful in others
— Martin Fowler, Analysis Patterns: Reusable Object Models (1997)
From his 1997 book Analysis Patterns.
Topics: software design