Michael Wiedeking
17.09.2010, 00:00 Uhr
"Pattern helfen, eine geeignete Architektur zu finden"
Im Interview erklärt Geschäftsführer und Programmiersprachensammler Michael Wiedeking am Beispiel, welche Bedeutung Pattern in verteilten Szenarien zukommt. Dazu und zu Qualitätsmerkmalen hält er auf der prio.conference 2010 je einen Vortrag.
dotnetpro: Im Titel deines Vortrag "Verteilte Architekturen und und ihre Qualitätsmerkmale" stolpert man über das Wort "Qualitätsmerkmale". Was ist denn darunter zu verstehen?
Michael Wiedeking: Ganz grob lassen sich mit Qualitätsmerkmalen Eigenschaften beschreiben, die dabei helfen sollen, die Eignung von Software für bestimmte Anwendungszwecke feststellen zu können. Beispielsweise sind Benutzbarkeit, Portabilität und Performanz solche Merkmale. Sie sind unabhängig von einzelnen Anforderungen, gelten also übergeordnet für die gesamte Software, und sind im besten Fall eindeutig messbar.
Michael Wiedeking: Ganz grob lassen sich mit Qualitätsmerkmalen Eigenschaften beschreiben, die dabei helfen sollen, die Eignung von Software für bestimmte Anwendungszwecke feststellen zu können. Beispielsweise sind Benutzbarkeit, Portabilität und Performanz solche Merkmale. Sie sind unabhängig von einzelnen Anforderungen, gelten also übergeordnet für die gesamte Software, und sind im besten Fall eindeutig messbar.
Sind die Merkmale denn andere als bei einer Softwarearchitektur einer nicht-verteilten Anwendung?
Wiedeking: Nicht wirklich andere, aber die Auswirkungen auf die Beziehung der Qualitätsmerkmale untereinander ändert sich. Beispielsweise ist eine Anwendung, die extrem sicher ist, typischerweise nicht besonders benutzerfreundlich. Der Vortrag geht auf diese Zusammenhänge unter Berücksichtigung der Verteilung ein.
Wiedeking: Nicht wirklich andere, aber die Auswirkungen auf die Beziehung der Qualitätsmerkmale untereinander ändert sich. Beispielsweise ist eine Anwendung, die extrem sicher ist, typischerweise nicht besonders benutzerfreundlich. Der Vortrag geht auf diese Zusammenhänge unter Berücksichtigung der Verteilung ein.
Dein anderer Vortrag beschäftigt sich mit Pattern in verteilten Anwendungen. Kannst du die wichtigsten Pattern aufzählen und kurz umreißen?
Wiedeking: Ein interessantes Pattern ist beispielsweise das Command-and-Query-Responsibility-Segregation-Pattern, das anstatt wie üblich ein Objekt zu verwenden, dieses in zwei zerlegt. Dabei wird bei deren Verantwortlichkeiten zwischen Befehlen und Abfragen unterschieden, so dass damit Lese- und Schreibzugriffe auf ein System besser optimiert werden können. Wie dieses helfen alle Pattern, die vorgestellt werden, dabei, zu entscheiden, wie man für welche Zwecke eine geeignete Architektur findet.
Wiedeking: Ein interessantes Pattern ist beispielsweise das Command-and-Query-Responsibility-Segregation-Pattern, das anstatt wie üblich ein Objekt zu verwenden, dieses in zwei zerlegt. Dabei wird bei deren Verantwortlichkeiten zwischen Befehlen und Abfragen unterschieden, so dass damit Lese- und Schreibzugriffe auf ein System besser optimiert werden können. Wie dieses helfen alle Pattern, die vorgestellt werden, dabei, zu entscheiden, wie man für welche Zwecke eine geeignete Architektur findet.
Empfiehlt sich die bewusste Verwendung der Pattern oder setzt man sie eigentlich schon automatisch ein, wenn man eine Anwendung verteilt aufbaut?
Wiedeking: Im Laufe der Zeit kommen die Entwickler auf viele gute, gelegentlich verrückt erscheinende Ideen. Dass diese Umsetzungen in Pattern manifestiert werden, heißt eigentlich nur, dass sie keine Einzelfälle sind und im Zusammenhang mit ihrem Kontext, Vor- und Nachteilen etc. dokumentiert sind. Hat man eine vergleichbare Lösung implementiert, kann man sich darüber freuen, dass man sie selbst gefunden hat; andernfalls kann das Pattern eine Empfehlung für eine Idee sein, wie man es machen kann.
Wiedeking: Im Laufe der Zeit kommen die Entwickler auf viele gute, gelegentlich verrückt erscheinende Ideen. Dass diese Umsetzungen in Pattern manifestiert werden, heißt eigentlich nur, dass sie keine Einzelfälle sind und im Zusammenhang mit ihrem Kontext, Vor- und Nachteilen etc. dokumentiert sind. Hat man eine vergleichbare Lösung implementiert, kann man sich darüber freuen, dass man sie selbst gefunden hat; andernfalls kann das Pattern eine Empfehlung für eine Idee sein, wie man es machen kann.