emergentes design mit tdd · london school tdd outside-in design from growing object-oriented...
TRANSCRIPT
![Page 1: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/1.jpg)
Emergentes Design mit TDD
Clean Code Days
David Völkel
04.11.2015
![Page 2: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/2.jpg)
@davidvoelkel
TDD & Design
@codecentric
@softwerkskammer
![Page 3: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/3.jpg)
Big Design Up Front
![Page 4: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/4.jpg)
TDD
Fehlschlagender Test
Minimale Implementierung
Refactoring
red
refactor
green
![Page 5: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/5.jpg)
Emergentes Design
Entsteht kontinuierlich
![Page 6: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/6.jpg)
London School TDD
„Mockists“
ATDD
From Growing Object-Oriented Software
by Nat Pryce and Steve Freeman
![Page 7: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/7.jpg)
London School TDD
Outside-In
Design
From Growing Object-Oriented Software
by Nat Pryce and Steve Freeman
UI
Domain Service
Repository DB Adapter
DB
End2End Test
![Page 8: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/8.jpg)
London School TDD
From Growing Object-Oriented Software
by Nat Pryce and Steve Freeman
UI
Domain Service
Repository DB Adapter
DB
End2End Test
Unit Test
![Page 9: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/9.jpg)
London School TDD
Mocking!
From Growing Object-Oriented Software
by Nat Pryce and Steve Freeman
UI
Domain Service
Repository DB Adapter
DB
End2End Test
Unit Test
![Page 10: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/10.jpg)
London School TDD
Mocking!
From Growing Object-Oriented Software
by Nat Pryce and Steve Freeman
UI
Domain Service
Repository DB Adapter
DB
End2End Test
Unit Test
Unit Test
Unit Test
![Page 11: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/11.jpg)
London School TDD
From Growing Object-Oriented Software
by Nat Pryce and Steve Freeman
UI
Domain Service
Repository DB Adapter
DB
End2End Test
Unit Test
Unit Test
Unit Test
Unit Test
Unit Test
Integration
Test
![Page 12: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/12.jpg)
London School TDD
From Growing Object-Oriented Software
by Nat Pryce and Steve Freeman
UI
Domain Service
Repository DB Adapter
DB
End2End Test
Unit Test
Unit Test
Unit Test
Unit Test
Unit Test
Integration
Test
![Page 13: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/13.jpg)
Detroit School TDD
„Classicists“
Mocks nur an Systemgrenzen
(Meist) Inside-Out/Bottom-Up
![Page 14: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/14.jpg)
4 Rules of Simple Design
1. Pass all Tests
2. Clear, Expressive & Consistent
3. No Duplication
4. Minimal Units
![Page 15: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/15.jpg)
Emergentes Design
Entsteht kontinuierlich
Minimal, aber brauchbar
![Page 16: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/16.jpg)
Gefahren
Big Picture?
Akzeptanztests
Refactoring
Disziplin
Designskills nötig
Emergent
Design
![Page 17: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/17.jpg)
London vs. Detroit Design
Outside-In
Absehbarer
Refactoring & Tests Schreiben
Inside-Out
Unbekannter, „emergenter“
Refactoring
![Page 18: Emergentes Design mit TDD · London School TDD Outside-In Design From Growing Object-Oriented Software by Nat Pryce and Steve Freeman UI Domain Service Repository DB Adapter DB End2End](https://reader033.vdocument.in/reader033/viewer/2022060320/5f0cf71d7e708231d4380225/html5/thumbnails/18.jpg)