Frank Buschmann, Siemens AG

Frank  Buschmann

Frank Buschmann is software engineer at Siemens Corporate Technology in Munich, Germany. His research interests include Object Technology, Application Frameworks and specifically Patterns. In his development work, Frank has lead the design and implementation of several large-scale industrial software projects, including business information, industrial automation, and telecommunication systems. Frank is co-author of "Pattern-Oriented Software Architecture -- A System of Patterns".

Presentation: "Panel SOA"

Track:   Service-Oriented Architectures, SOA

Time: Monday 16:45 - 17:30

Location: Conference Hall 1

Tutorial: "Beyond the Gang of Four (full day)"

Track:   Tutorials

Time: Friday 09:00 - 12:00, 13:00 - 16:00

Location: Dania


When software developers mention design patterns, the chances are that they are talking about Design Patterns, the classic book by the Gang of Four, rather than design patterns in general. Even when they are talking about the pattern concept, as opposed to specific patterns, they often think in terms of the form and idea presented in GoF, and rarely beyond. However, the practice of software design is a far larger space than can be covered by a modest vocabulary of 23 patterns. Nor is the pattern concept that is useful in designing software identical with the GoF view. Since the publication of the seminal work by GoF in 1994, a great deal of research and practice in patterns has led to a better understanding of both the pattern concept and the strengths and weaknesses of the GoF patterns themselves.

This talk revisits the GoF patterns, reflects on them, deconstructs them, and re-evaluates them from the practitioner's perspective: why creational patterns such as Abstract Factory and Builder are missing a vital ingredient to be proper parts of an architectural vocabulary; why Singleton decreases a system's flexibility and testability; why Iterator is not always the best solution for traversing aggregates; ...; and what you can do about it.