SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Softwareentwicklung

ohne

Abhängigkeiten



Stefan Lieser

@stefanlieser

http://refactoring-legacy-code.net
Typische Struktur von
Abhängigkeiten
A B
= Funktionseinheit (Methode, Klasse, etc.)
= Abhängigkeit (A ist abhängig von B)
Typische Struktur von
Abhängigkeiten
Typische Struktur von
Abhängigkeiten
Änderungen
Typische Struktur von
Abhängigkeiten
=>
Keine Domänenlogik,
nur Daten
Typische Struktur von
Abhängigkeiten
Logik, die das Thema

der Anwendung betrifft.
Domänenlogik
Typische Struktur von
Abhängigkeiten
Änderungen
Typische Struktur von
Abhängigkeiten
=>
Keine Domänenlogik,
nur Integration
Typische Struktur von
Abhängigkeiten
Unit Tests einfach, da keine Abhängigkeiten
Unit Tests aufwändig, Einsatz von Attrappen
Blätter = Operationen = Domänenlogik
Knoten = Integration
Integration Operation
Segregation Principle (IOSP)
Wenige Integrationstests
Viele Unittests
Viele Integrationstests
Wenige Unittests
Integration
Operation
Data
Integration Operation
Data Architecture (IODA)
IOSP
Nervenzelle
Muskelzelle
Motorische Endplatte
Nervenzelle
Muskelzelle
Motorische Endplatte
Nervenzelle
Muskelzelle
Acetylcholin
Motorische Endplatte
Nervenzelle
Muskelzelle
Acetylcholin
Motorische Endplatte
Principle of Mutual
Oblivion (PoMO)
Prinzip der
gegenseitigen
Nichtbeachtung
PoMO
f
f2f1
Flow Design:
Datenflussdiagramme
( x ) ( y )
( x ) ( y )( z )
A B
= Funktionseinheit (Methode, Klasse, etc.)
= Datenfluss (ein x fließt von A nach B)
( x )
= Verfeinerung
f
f2f1
Mit Abhängigkeiten (FALSCH!!)
( x ) ( y )
( x ) ( y )( z )
Y f(X x) {
return f1(x);
}
Y f1(X x) {
var z = ….
return f2(z);
}
Y f2(Z z) {
var y = …
return y;
}
f
f2f1
( x ) ( y )
( x ) ( y )( z )
Y f(X x) {
return f1(x);
}
Y f1(X x) {
var z = ….
return f2(z);
}
Y f2(Z z) {
var y = …
return y;
}
Integration Integration +
Operation
Operation
Mit Abhängigkeiten (FALSCH!!)
f
f2f1
Ohne Abhängigkeiten
( x ) ( y )
( x ) ( y )( z )
Y f(X x) {
var z = f1(x);
var y = f2(z);
return y;
}
Z f1(X x) {
var z = ….
return z;
}
Y f2(Z z) {
var y = …
return y;
}
f
f2f1
( x ) ( y )
( x ) ( y )( z )
Y f(X x) {
var z = f1(x);
var y = f2(z);
return y;
}
Z f1(X x) {
var z = ….
return z;
}
Y f2(Z z) {
var y = …
return y;
}
Integration Operation Operation
Ohne Abhängigkeiten
Projektstruktur
Projektstruktur
Application
Integration
.exe Projekt
maximale
Abhängigkeiten
Referenziert alle anderen
Projekte. Startet die
Anwendung in der Main
Methode.
Projektstruktur
Kontrakte
Interfaces, Datentypen
.dll Projekt
keine Abhängigkeiten
Projektstruktur
Komponenten
Logik, UI, Ressourcen,

etc.
.dll Projekte
Keine Abhängigkeiten
Referenziert lediglich

die Kontrakte.
Tests referenzieren
zugehörige Impl.
crm.contracts
crm
crm.persistencecrm.logic crm.ui
Integration Operation
Segregation Principle (IOSP)
Principle of Mutual
Oblivion (PoMO)
Prinzip der
gegenseitigen
Nichtbeachtung
http://refactoring-legacy-code.net
http://linkedin.com/in/stefanlieser
https://twitter.com/StefanLieser
http://xing.com/profile/stefan_lieser

Contenu connexe

Tendances

How to Bring About Finance Transformation on Your Own Terms
How to Bring About Finance Transformation on Your Own TermsHow to Bring About Finance Transformation on Your Own Terms
How to Bring About Finance Transformation on Your Own TermsWorkday, Inc.
 
Microsoft Office 365 Presentation
Microsoft Office 365 PresentationMicrosoft Office 365 Presentation
Microsoft Office 365 PresentationBlueChipICT
 
Capgemini Consulting - Digital Transformation
Capgemini Consulting - Digital TransformationCapgemini Consulting - Digital Transformation
Capgemini Consulting - Digital TransformationJohn Van Pijkeren
 
Innovation in Design | Digital Transformation 2019
Innovation in Design | Digital Transformation 2019Innovation in Design | Digital Transformation 2019
Innovation in Design | Digital Transformation 2019Italian Design Brands
 
SharePoint Overview
SharePoint OverviewSharePoint Overview
SharePoint OverviewAmy Phillips
 
The Transformation Office - A new organisational capability for the digital e...
The Transformation Office - A new organisational capability for the digital e...The Transformation Office - A new organisational capability for the digital e...
The Transformation Office - A new organisational capability for the digital e...Rafael Lemaitre
 
What is Office 365? A Simple Answer
What is Office 365? A Simple AnswerWhat is Office 365? A Simple Answer
What is Office 365? A Simple AnswerAptera Inc
 
Transforming the Omni-channel Customer Experience
Transforming the Omni-channel Customer ExperienceTransforming the Omni-channel Customer Experience
Transforming the Omni-channel Customer ExperienceCafeX
 
Business automation system proposal ppt
Business automation system proposal pptBusiness automation system proposal ppt
Business automation system proposal pptMohammad Sayem
 
Digital Transformation for Manufacturing
Digital Transformation for ManufacturingDigital Transformation for Manufacturing
Digital Transformation for ManufacturingLuisella Giani
 
Digital Transformation Blueprint
Digital Transformation BlueprintDigital Transformation Blueprint
Digital Transformation BlueprintDaniel McKean
 
Overview of Office 365 - Presentation By Sajid
Overview of Office 365  - Presentation By Sajid Overview of Office 365  - Presentation By Sajid
Overview of Office 365 - Presentation By Sajid srafiq
 
Accenture’s Change Management Strategy for Workday
Accenture’s Change Management Strategy for WorkdayAccenture’s Change Management Strategy for Workday
Accenture’s Change Management Strategy for WorkdayAccenture Technology
 
Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?Trieu Nguyen
 
Revenue Model PowerPoint Presentation Slides
Revenue Model PowerPoint Presentation SlidesRevenue Model PowerPoint Presentation Slides
Revenue Model PowerPoint Presentation SlidesSlideTeam
 
Healthcare & digital marketing - Today & Future
Healthcare &  digital marketing - Today & FutureHealthcare &  digital marketing - Today & Future
Healthcare & digital marketing - Today & FutureDeepali Thakur
 
Guiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationGuiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationRandy Williams
 

Tendances (20)

How to Bring About Finance Transformation on Your Own Terms
How to Bring About Finance Transformation on Your Own TermsHow to Bring About Finance Transformation on Your Own Terms
How to Bring About Finance Transformation on Your Own Terms
 
Microsoft Office 365 Presentation
Microsoft Office 365 PresentationMicrosoft Office 365 Presentation
Microsoft Office 365 Presentation
 
Capgemini Consulting - Digital Transformation
Capgemini Consulting - Digital TransformationCapgemini Consulting - Digital Transformation
Capgemini Consulting - Digital Transformation
 
Innovation in Design | Digital Transformation 2019
Innovation in Design | Digital Transformation 2019Innovation in Design | Digital Transformation 2019
Innovation in Design | Digital Transformation 2019
 
SharePoint Overview
SharePoint OverviewSharePoint Overview
SharePoint Overview
 
The Transformation Office - A new organisational capability for the digital e...
The Transformation Office - A new organisational capability for the digital e...The Transformation Office - A new organisational capability for the digital e...
The Transformation Office - A new organisational capability for the digital e...
 
Digital transformation 101
Digital transformation 101Digital transformation 101
Digital transformation 101
 
What is Office 365? A Simple Answer
What is Office 365? A Simple AnswerWhat is Office 365? A Simple Answer
What is Office 365? A Simple Answer
 
Transforming the Omni-channel Customer Experience
Transforming the Omni-channel Customer ExperienceTransforming the Omni-channel Customer Experience
Transforming the Omni-channel Customer Experience
 
Business automation system proposal ppt
Business automation system proposal pptBusiness automation system proposal ppt
Business automation system proposal ppt
 
Office 365
Office 365Office 365
Office 365
 
Digital Transformation for Manufacturing
Digital Transformation for ManufacturingDigital Transformation for Manufacturing
Digital Transformation for Manufacturing
 
Digital Transformation Blueprint
Digital Transformation BlueprintDigital Transformation Blueprint
Digital Transformation Blueprint
 
Overview of Office 365 - Presentation By Sajid
Overview of Office 365  - Presentation By Sajid Overview of Office 365  - Presentation By Sajid
Overview of Office 365 - Presentation By Sajid
 
Accenture’s Change Management Strategy for Workday
Accenture’s Change Management Strategy for WorkdayAccenture’s Change Management Strategy for Workday
Accenture’s Change Management Strategy for Workday
 
Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?
 
SharePoint as a Document Management System (DMS)
SharePoint as a Document Management System (DMS)SharePoint as a Document Management System (DMS)
SharePoint as a Document Management System (DMS)
 
Revenue Model PowerPoint Presentation Slides
Revenue Model PowerPoint Presentation SlidesRevenue Model PowerPoint Presentation Slides
Revenue Model PowerPoint Presentation Slides
 
Healthcare & digital marketing - Today & Future
Healthcare &  digital marketing - Today & FutureHealthcare &  digital marketing - Today & Future
Healthcare & digital marketing - Today & Future
 
Guiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationGuiding a Successful SharePoint Implementation
Guiding a Successful SharePoint Implementation
 

Softwareentwicklung ohne Abhängigkeiten