Ever since I’ve used Fluent NHibernate I’ve become a big fan of Fluent interfaces. There is something very sexy, but more important, literally ‘fluent’ about using them.
Within possibilities I have been trying to implement the technique in my own coding & frameworks. While doing that, I found that it is really important to have a clear strategy, before starting to create all types of methods returning the ‘this’ object.
For example, when creating wrapper classes for selections in AutoCad, the Fluent styles seem very appropriate. (Note to self: blogpost ;).
Anyway, there is a great screencast up on Dimecasts about creating Fluent Interfaces. The screencast is not very extensive, but gives a nice overview and strategy on creating them.