SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
1
After Work Coding Dojo
Android Edition
Bodo Leemhuis
@BoLeemhuis
Robert Süggel
@robzerg
Matthias Görs
@matze025
2
Motivation
3
Motivation
Working Effectively with Legacy Code
von Michael Feathers
4
Motivation
Neuimplementierung steht oft nicht zur Debatte
Legacy Code ist unumgänglich
MVP ist State-of-the-Art
Code Qualität ist relevant
5
Motivation
Neuimplementierung steht oft nicht zur Debatte
Legacy Code ist unumgänglich
MVP ist State-of-the-Art
Code Qualität ist relevant
6
Motivation
Neuimplementierung steht oft nicht zur Debatte
Legacy Code ist unumgänglich
MVP ist State-of-the-Art
Code Qualität ist relevant
7
Motivation
Neuimplementierung steht oft nicht zur Debatte
Legacy Code ist unumgänglich
MVP ist State-of-the-Art
Code Qualität ist relevant
8
Motivation
Neuimplementierung steht oft nicht zur Debatte
Legacy Code ist unumgänglich
MVP ist State-of-the-Art
Code Qualität ist relevant
Was ist Eure Motivation?
9
Motivation
10
Ablauf Coding Dojo
11
Das Problem
Activity
DBViews
Adapter
Network
Helper
Spaghetti
Code
Nicht
wiederverwendbar Nicht wartbar
Keine
klare
Verantw
ortlichkeit
Nicht testbar
12
Lösung: Model-View-Presenter
View
• Typischer Weise Activity (oder Fragment)
• Zeigt die Daten an
• Teilt dem Presenter Interaktionen mit
• Hat Referenz auf Presenter
Presenter
• Mittelsmann zwischen View und Model
• Erhält Daten vom Model und der Business-Logik 

und bereitet diese für den View auf
• Entscheidet, was bei Interaktionen passiert
• Hat Referenz auf View und und Model
Model
• Beinhaltet die Buisness-Logik
• Sollte ebenfalls gut Strukturiert sein, 

z.B. Schichten, Services, etc.
Model
Presenter
View
13
Lösung: Model-View-Presenter
Model
Presenter
View
Testbar
Wartbar
Views
austauschbar
Wiederverwendbar
Lose Kopplung
Klare
Verantwortlichkeiten
(SRP)
14
Technische 















Hülle
MVP Grundsätze
Presenter sollte keine Android-
Abhängigkeiten mehr haben.
• Anwendungen haben eine Technische Hülle, aber
einen fachlichen Kern
• Presenter enthält die fachliche Logik, wie sich eine
Maske zu verhalten hat und auf Eingaben reagiert
• View zeigt Daten mit den technischen
Gegebenheiten an
Activities und Fragments
implementieren ein View-Interface,
dass vom Presenter vorgegeben ist.
Der Presenter sollte über wichtige
Ereignisse informiert werden
• Nur wichtige LifeClycle-Events
• Nutzereingaben
Fachlicher

Kern
15
Lets talk Code – The View
16
Lets talk Code – The Presenter
Dojo

Weitere ähnliche Inhalte

Ähnlich wie Coding Dojo (Android Edition) - Von Legacy Code zum Model-View-Presenter

Neo4j Whiteboard Session
Neo4j Whiteboard SessionNeo4j Whiteboard Session
Neo4j Whiteboard SessionNeo4j
 
Lwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberlebenLwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberlebenMichael Mahlberg
 
Messi und-ronaldo-best-practice Tipps
Messi und-ronaldo-best-practice TippsMessi und-ronaldo-best-practice Tipps
Messi und-ronaldo-best-practice TippsDrKPI
 
Messi und-Ronaldo-Best-Practice Kennzahl
Messi und-Ronaldo-Best-Practice KennzahlMessi und-Ronaldo-Best-Practice Kennzahl
Messi und-Ronaldo-Best-Practice KennzahlDrKPI
 
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...Boris Gloger
 
Neo4j Whiteboard Session
Neo4j Whiteboard SessionNeo4j Whiteboard Session
Neo4j Whiteboard SessionNeo4j
 
Wie AI dein SEO ändert [DE] - John Muñoz
Wie AI  dein SEO ändert [DE] - John MuñozWie AI  dein SEO ändert [DE] - John Muñoz
Wie AI dein SEO ändert [DE] - John MuñozJohn Muñoz
 
Das SEO Canvas - Was SEOs von Produktmanagement lernen können
Das SEO Canvas - Was SEOs von Produktmanagement lernen könnenDas SEO Canvas - Was SEOs von Produktmanagement lernen können
Das SEO Canvas - Was SEOs von Produktmanagement lernen könnenBjörn Darko
 
Software-Entwicklung Im Team
Software-Entwicklung Im TeamSoftware-Entwicklung Im Team
Software-Entwicklung Im TeamStephan Schmidt
 
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen solltenStephan Schmidt
 

Ähnlich wie Coding Dojo (Android Edition) - Von Legacy Code zum Model-View-Presenter (12)

Play store optimization
Play store optimizationPlay store optimization
Play store optimization
 
Neo4j Whiteboard Session
Neo4j Whiteboard SessionNeo4j Whiteboard Session
Neo4j Whiteboard Session
 
Lwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberlebenLwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberleben
 
Messi und-ronaldo-best-practice Tipps
Messi und-ronaldo-best-practice TippsMessi und-ronaldo-best-practice Tipps
Messi und-ronaldo-best-practice Tipps
 
Messi und-Ronaldo-Best-Practice Kennzahl
Messi und-Ronaldo-Best-Practice KennzahlMessi und-Ronaldo-Best-Practice Kennzahl
Messi und-Ronaldo-Best-Practice Kennzahl
 
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...
 
Voice and the Future of Search
Voice and the Future of SearchVoice and the Future of Search
Voice and the Future of Search
 
Neo4j Whiteboard Session
Neo4j Whiteboard SessionNeo4j Whiteboard Session
Neo4j Whiteboard Session
 
Wie AI dein SEO ändert [DE] - John Muñoz
Wie AI  dein SEO ändert [DE] - John MuñozWie AI  dein SEO ändert [DE] - John Muñoz
Wie AI dein SEO ändert [DE] - John Muñoz
 
Das SEO Canvas - Was SEOs von Produktmanagement lernen können
Das SEO Canvas - Was SEOs von Produktmanagement lernen könnenDas SEO Canvas - Was SEOs von Produktmanagement lernen können
Das SEO Canvas - Was SEOs von Produktmanagement lernen können
 
Software-Entwicklung Im Team
Software-Entwicklung Im TeamSoftware-Entwicklung Im Team
Software-Entwicklung Im Team
 
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
 

Coding Dojo (Android Edition) - Von Legacy Code zum Model-View-Presenter