Difference: WhySolidMatters (2 vs. 3)

Revision 32012-12-07 - MarkusGaertner

Line: 1 to 1
 
META TOPICPARENT name="Programm"

Why SOLID matters - even for JavaScript

Session 60'

Keywords

Design-Prinzipien, SOLID, JavaScript, Qualität, technisches Design, Vortrag, inkl. Code-Beispiele

Abstract

Gerade agile Softwareentwicklung setzt voraus, dass Teams in der Lage sind, die Software in kleinen Schritten und kurzen Zeitabständen immer wieder zu verändern - ohne dabei die Qualität zu gefährden. Eine gute Struktur innerhalb der Software ist deshalb unverzichtbar. Mittels Refactoring wird deshalb immer wieder die interne Struktur verbessert und flexibel gehalten. Aber was helfen Refactoring-Techniken, wenn man nicht weiß, wie eine gute Struktur aussehen könnte?

Design-Prinzipien helfen dabei und existieren nicht erst seit agiler Softwareentwicklung. Der SOLID-Satz an Prinzipien hat sich dabei als besonders beliebt herausgestellt. Allerdings klingt er zunächst einmal sehr "objektorientiert", es ist von Vererbung und Interfaces die Rede. Was aber, wenn man beispielsweise in JavaScript programmiert (wie dies für immer größere Systeme der Fall ist)? Kann man SOLID trotzdem einsetzen? Prinzipien wie das Liskov Substitution Principle oder das Interface Segregation Principle klingen zunächst so, als ob sie für JavaScript keine Bedeutung hätten. Schließlich gibt es in JavaScript keine klassische klassen-basierte Vererbung und Interfaces erst recht nicht. Wieso sollte ich mich also mit SOLID beschäftigen?

Der Vortrag führt anschaulich (Vorsicht!!! Code-Beispiele!!!) in die SOLID-Prinzipien ein und diskutiert, wieso diese Prinzipien generell nützlich sind. Anhand von Code-Beispielen wird gezeigt, wie sich beispielsweise Effekte wie das Liskov-Substitution-Principle in JavaScript erkennen und anwenden lassen. Oder wie häufig implizit definierte Interfaces in JavaScript gebaut werden, bei denen das Interface Segregation Principle helfen kann, das technische Design zu verbessern. Insgesamt werden für alle fünf Prinzipien Beispiele in JavaScript gezeigt und diskutiert, die auf den ersten Blick wie gängige JavaScript-Code-Beispiele aussehen, auf den zweiten Blick aber viele der Design-Prinzipien verletzen - natürlich jeweils mit einer passenden "Auflösung".

Vorkenntnisse

Vorkenntnisse in JavaScript von Vorteil

Speaker

Martin Lippert

Added:
>
>
Folien: Why SOLID Matters - Even for JavaScript - Martin Lippert
  \ No newline at end of file
Added:
>
>
META FILEATTACHMENT attachment="XPDays2012-SOLIDJavaScript.pdf" attr="h" comment="Why SOLID Matters - Even for JavaScript - Martin Lippert" date="1354889437" name="XPDays2012-SOLIDJavaScript.pdf" path="XPDays2012-SOLIDJavaScript.pdf" size="1265504" stream="XPDays2012-SOLIDJavaScript.pdf" tmpFilename="/var/tmp/CGItemp6287" user="MarkusGaertner" version="1"
 
andrena objects Logo it-agile Logo mobile.de coremedia