![Page 1: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/1.jpg)
lennybacon.com
KomponentenorientierungDaniel Fisher
![Page 2: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/2.jpg)
lennybacon.com
• Freelancer– Developer, Architect, Coach, Trainer
• Justcommunity.de– Mit-Gründer und Vorstand
• nrwconf.de– Mit-Gründer und Organisator
• netug-niederrhein.de– Mit-Gründer und Ex-Leiter
• microsoft.com– Certified Professional Developer– Business Platform Technology Advisor
• lennybacon.com– Blog
• twitter.com– @lennybacon
Daniel Fisher
![Page 3: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/3.jpg)
lennybacon.com
EFFICIENT COMMUNICATION…
![Page 5: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/5.jpg)
lennybacon.com
Component-based software engineering is a branch
of software engineering that emphasizes the
separation of concerns in respect of the wide-ranging functionality available throughout a
given software system.
http://en.wikipedia.org/wiki/Component-based_software_engineering
![Page 6: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/6.jpg)
lennybacon.com
It is a reuse-based approach to defining,
implementing and composing loosely coupled independent components into systems.
This practice aims to bring about an equally wide-ranging degree of
benefits in both the short-term and the
long-term for the software itself and for
organizations that sponsor such software.
http://en.wikipedia.org/wiki/Component-based_software_engineering
![Page 7: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/7.jpg)
lennybacon.com
Sorry this is *NO hot shit*!
The idea first became prominent with
Douglas McIlroy at the NATO conference on software
engineering in Garmisch, Germany,
1968
![Page 8: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/8.jpg)
lennybacon.com
‘Nuf bla bla!
So what’s a component?
![Page 9: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/9.jpg)
lennybacon.com
https://www.flickr.com/photos/64693712@N05/8059145606
![Page 10: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/10.jpg)
lennybacon.com
Divide and Conquer
![Page 11: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/11.jpg)
lennybacon.com
Separation of ConcernsSingle Responsibility
…
![Page 12: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/12.jpg)
lennybacon.com
![Page 13: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/13.jpg)
lennybacon.com
Explicit boundariesAutonomous
…
![Page 14: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/14.jpg)
lennybacon.com
https://www.flickr.com/photos/miasone/8741413785
![Page 15: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/15.jpg)
lennybacon.com
Component Component Component
Domain Service
Domain Object
API Facade
API
DD
DCO
D
![Page 16: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/16.jpg)
lennybacon.com
The only thing
really hard is making things
really easy
![Page 17: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/17.jpg)
lennybacon.com
https://www.flickr.com/photos/shardayyy/5711563136
![Page 18: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/18.jpg)
lennybacon.com
Todo
• Separate Sources!• Separate Builds!• Separate Tests!• Separate Puplication
• Separate Issue Tracker?• Separate Feature Planning?• Separate Versions?• …
![Page 19: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/19.jpg)
lennybacon.com
https://www.flickr.com/photos/archivesnz/8759939806
![Page 20: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/20.jpg)
lennybacon.com
© Daniel Fisher
![Page 21: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/21.jpg)
lennybacon.com
![Page 22: 2014 - DotNet UG Rhen Ruhr: Komponentenorientierung](https://reader035.vdocuments.us/reader035/viewer/2022062419/558c61b8d8b42ae84e8b462c/html5/thumbnails/22.jpg)
lennybacon.com
READ LENNYBACON.COMFOLLOW @LENNYBACON
LINK LINKEDIN.COM/IN/LENNYBACONXING XING.COM/PROFILE/DANIEL_FISHERFRIEND FB.COM/DANIEL.FISHER.LENNYBACONMAIL [email protected] +49 (176) 6159 8612