Simplicity             Slide 1 of 11             23. October 2012             Matthias Kraaz             © Zühlke 2012
SimplicitySimplicity – the art of maximizing the amount of work not done –is essential.                              The M...
SimplicityThe “Gang of Four” Design Patterns•      Creational patterns (5)•      Structural patterns (7)•      Behavioral ...
Simplicity                              class Bridge                                             Bridge                   ...
SimplicityAll problems in computer science can be solved by another levelof indirection. But that usually will create anot...
Simplicity    class Gas-AHP Architektur                                                                           Wird zyk...
Simplicity                              YAGNI                              You ain’t gonna need it!Simplicity | Matthias K...
Simplicity                       class Simplicity                                Class1               Class2              ...
Simplicity  class Refactoring                              Class1                                           Class2        ...
Simplicity    class Increment                                                                               Class3        ...
Simplicity                                KISS                              Keep it simple, stupid!Simplicity | Matthias K...
Upcoming SlideShare
Loading in …5
×

Simplicity - The Art Of Maximizing The Amount Of Work Not Done

518 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
518
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Simplicity - The Art Of Maximizing The Amount Of Work Not Done

  1. 1. Simplicity Slide 1 of 11 23. October 2012 Matthias Kraaz © Zühlke 2012
  2. 2. SimplicitySimplicity – the art of maximizing the amount of work not done –is essential. The Manifesto for Agile Software DevelopmentSimplicity | Matthias Kraaz 23. October 2012 Slide 2 of 11 © Zühlke 2012
  3. 3. SimplicityThe “Gang of Four” Design Patterns• Creational patterns (5)• Structural patterns (7)• Behavioral patterns (12)Simplicity | Matthias Kraaz 23. October 2012 Slide 3 of 11 © Zühlke 2012
  4. 4. Simplicity class Bridge Bridge «use» API SPISimplicity | Matthias Kraaz 23. October 2012 Slide 4 of 11 © Zühlke 2012
  5. 5. SimplicityAll problems in computer science can be solved by another levelof indirection. But that usually will create another problem. David Wheeler, 1927-2004, inventor of the subroutineOn the other hand, the effect that indirection has on thecomprehensibility of our code is a very important concern,because over the last 50 years, in contrast to the dizzyingincreases in CPU speeds, the ability of humans to understandcode hasnt improved much. Diomidis SpinellisSimplicity | Matthias Kraaz 23. October 2012 Slide 5 of 11 © Zühlke 2012
  6. 6. Simplicity class Gas-AHP Architektur Wird zyklisch von Main aufgerufen REG::RHM «use» REG::RRB + RRB_Hauptschleife() : void «use» «use» «use» Abgrenzung Verantwortlichkeit zu «use» «use» SDS? STK::SDI «use» STK::SDE STK::SZP STK::SKF Abgrenzung «use» Verantwortlichkeit zu STK::SMV SDE? «use» «use» «use» «use» «use» «use» «use» STK::SDS «use» + SDS_VS1Server() : void STK::SDG «use» + SDG_showDebugMessage() : void «use» «use» STK::SDV «use» «use» Abhängigkeiten zu STK::SSU praktisch allen «use» STK::SBD Modulen (nicht im «use» «use» «use» Modell enthalten). STK::Main «use» «use» «use» «use» «use» «use» «use» STK::SDL «use» STK::SKD «use» STK::SKO STK::SKT «use» «use» Querschnittliche «use» «use» «use» Module: Verwendung in verschiedensten STK::SRP Modulen (nicht alle STK::SSY Verwendungen im «use» Modell enthalten). «use» «use» «use» «use» STK::SZT «use» «use» «use» STK::SCB «use» «use» «use» «use» Fragt Adressen zum «use» Speichern des Backups «use» im EEPROM und «use» Nur lesend. Fehlerstatus ab. «use» «use» «use» «use» STK::SRG «use» STK::TSY «use» «use» «use» STK::SCS KEE_hwqcCheckEEPR «use» OM «use» + SCS_FehlerStatus() : void «use» «use» STK::KBD «use» STK::KKO STK::KEE KTM_showZeile für «use» «use» "Wink" «use» THA_flashEnable/THA _flashDisable «use» «use» «use» «use» «use» «use» «use» STK::KVS STK::KTM Abhängigkeiten zu «use» praktisch allen STK::TIB Modulen (nicht im Composite Beziehung: Modell enthalten). Composite Beziehung: - Teile von RIO sind in - Teile von LIO sind in anderen Modulen anderen Modulen implementiert implementiert STK::LIO STK::RIO - RIO benutzt auch die - LIO benutzt auch die anderen Module anderen Module - die anderen Module - die anderen Module benutzen RIO benutzen LIO «use» «use» «use» STK::TDI STK::TAI STK::TSM STK::TDO STK::KKM_EAH1 STK::TPW STK::TSA STK::KKM_VC100 STK::KKM_EEV STK::KKM_Solar STK::KKM_MI STK::KKM_FB STK::KKM_AIR + TSA_empfangeRingPuffer() : void + TSA_getZeichen() : void + TSA_sendePuffer() : void «use» «use» «use» «use» STK::THASimplicity | Matthias Kraaz 23. October 2012 Slide 6 of 11 © Zühlke 2012
  7. 7. Simplicity YAGNI You ain’t gonna need it!Simplicity | Matthias Kraaz 23. October 2012 Slide 7 of 11 © Zühlke 2012
  8. 8. Simplicity class Simplicity Class1 Class2 «use»Simplicity | Matthias Kraaz 23. October 2012 Slide 8 of 11 © Zühlke 2012
  9. 9. Simplicity class Refactoring Class1 Class2 «use» Interface1Simplicity | Matthias Kraaz 23. October 2012 Slide 9 of 11 © Zühlke 2012
  10. 10. Simplicity class Increment Class3 Class1 Class2 «use» Interface1Simplicity | Matthias Kraaz 23. October 2012 Slide 10 of 11 © Zühlke 2012
  11. 11. Simplicity KISS Keep it simple, stupid!Simplicity | Matthias Kraaz 23. October 2012 Slide 11 of 11 © Zühlke 2012

×