SlideShare ist ein Scribd-Unternehmen logo
Fluent interfaces
Patrick Weibel
www.eweibel.net
Beispiel
 Anforderung
Erstelle eine Bestellung mit dem Namen „Test“.
 Bisher
var o = new Order(„Test“);
 Neu
var o = new Order().WithName(„Test“);
Mocking-Framework Moq
var mock = new Mock<IFoo>();
mock.Setup(foo => foo.DoSomething("ping")).Returns(true);
Motivation
 Code sollte sprechend sein
 Sprechender Code sollte echter Sprache
ähnlich sein
 Sprechender Code sollte nicht „holpern“
sondern fliessen
Vorteile / Nachteile
 Gut lesbarer Code
 Sehr gut erweiterbar
 Bestehende APIs
migrierbar
 Gutes Fluent Interface ist
schwierig zu erstellen
 Code wird umfangreicher
 Methoden sind alleine nicht
mehr sprechend (machen
nur im Kontext Sinn)
Resources
 Martin Fowler
http://www.martinfowler.com/bliki/FluentInterface.html
 Wikipedia
http://en.wikipedia.org/wiki/Fluent_interface
Fragen?

Weitere ähnliche Inhalte

Andere mochten auch

Frenchproject
FrenchprojectFrenchproject
Frenchproject
brian0x
 
Héloïse de V. Dossier ADN
Héloïse de V. Dossier ADNHéloïse de V. Dossier ADN
Héloïse de V. Dossier ADN
Nour Hasni
 
Persoenliche Assistenz: Entwicklung in Wien
Persoenliche Assistenz: Entwicklung in WienPersoenliche Assistenz: Entwicklung in Wien
Persoenliche Assistenz: Entwicklung in Wien
Martin Ladstaetter / BIZEPS
 
Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...
Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...
Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...
Ulrich Erdmann
 
Q organica 01
Q organica 01Q organica 01
Q organica 01
estudia medicina
 
Weblogs, Wikis, Podcasts - opportunities for companies
Weblogs, Wikis, Podcasts - opportunities for companiesWeblogs, Wikis, Podcasts - opportunities for companies
Weblogs, Wikis, Podcasts - opportunities for companies
Prof. Dr. Manfred Leisenberg
 

Andere mochten auch (8)

Ourson noel
Ourson noelOurson noel
Ourson noel
 
Frenchproject
FrenchprojectFrenchproject
Frenchproject
 
Héloïse de V. Dossier ADN
Héloïse de V. Dossier ADNHéloïse de V. Dossier ADN
Héloïse de V. Dossier ADN
 
Persoenliche Assistenz: Entwicklung in Wien
Persoenliche Assistenz: Entwicklung in WienPersoenliche Assistenz: Entwicklung in Wien
Persoenliche Assistenz: Entwicklung in Wien
 
Aketz Zubia
Aketz ZubiaAketz Zubia
Aketz Zubia
 
Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...
Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...
Design Thinking: IA als Geburtshelfer für Innovationen / IA Konferenz 2010/ T...
 
Q organica 01
Q organica 01Q organica 01
Q organica 01
 
Weblogs, Wikis, Podcasts - opportunities for companies
Weblogs, Wikis, Podcasts - opportunities for companiesWeblogs, Wikis, Podcasts - opportunities for companies
Weblogs, Wikis, Podcasts - opportunities for companies
 

Fluent interfaces