it's a real bummer how bad the gof design patterns are when compared to the christopher alexander pattern language book is. but the problem imo is that they were trying to understand inscrutable software and using really coarse 'gof patterns' to make assumptions about how Actual Application-Level Patterns were being implemented, so we get Singleton and not patterns like Authentication or Trusted RPC or A Place To Modify User Settings.