Design patterns. Elements of reusable object-oriented software Gamma, Erich ; Helm, Richard ; Johnson, Ralph ; Vlissides, John Abstract Publication: Addison-Wesley Professional Computing Series Pub Date: 1995 Bibcode: 1995dper.book.....G