Chad Myers gave a workshop at Kaizenconf in Austin, Texas on October 31, 2008.
The original title of the workshop was Fluent APIs with C# 3, but Chad changed the title at the beginning of the presentation to Internal DSLs.
Workshop Description (from Dave Laribee's original post on the workshops):
You may not know it, but you're likely already using internal DSLs in C#: The Linq IEnumerable extension methods (Select(), Where(), ToArray(), etc), the NHibernate ICriteria API, Rhino Mocks, StructureMap, Windsor, Moq, Ninject, and many others all have internal DSL syntaxes. Whether it be for configuration, programmatic assembly of an object graph, or a myriad of other purposes, an internal DSL can usually make the process go faster, easier to test, and easier to consume by the API consumer.
In this workshop, we'll go through the process of creating a basic internal DSL. We'll then go deeper into more advanced variations and themes of internal DSLs, learn about tricks and pitfalls, and end up with an advanced internal DSL. We'll learn about method chaining, the builder pattern, function sequences, and many other internal DSL patterns and related concepts.
Videos of the presentation:
The following videos captured the first hour and a half of the presentation. There was another 30 minutes that we missed due to battery issues with a new camera. Please accept our apologies.
Internal DSL Workshop (Part 1 of 2) - recorded by John Teague and produced (poorly, perhaps) by Weston M. Binford III (approximately 52 minutes)
Internal DSL Workshop (Part 2 of 2) - recorded by John Teague and produced by Weston M. Binford III (approximately 46 minutes).
Relevant Links:
Kaizenconf, MVC, and Internal DSLs, OH MY! - Chad Myers' blog post wrapping up the conference which mentions the Internal DSL workshop
Presentation and Source Code for the Workshop
Comments (0)
You don't have permission to comment on this page.