Project Description
Halfpipe provides a foundation for building a testable domain layer for applications using the Entity Framework, with an emphasis on ASP.NET MVC applications. Halfpipe supplies a testable repository and all of the necessary plumbing to connect it to a presentation layer.

It is common to see ASP.NET MVC demos where controller actions directly reference an Entity Framework ObjectContext. This makes for a fast and easy demo, but it's not a good design for a real-world application. Halfpipe is designed to preserve the ease-of-use and architectural flexibility of ASP.NET MVC while bringing more testability and flexibility to the "M" layer.

Halfpipe is
  • Brand new, and probably not ready for production use just yet. (Soon!)
  • Designed based on years of real-world experience using MVC and the Entity Framework together.
  • Built on LINQ from the ground up.
  • Extensible: Any ORM with a decent LINQ implementation can be supported with minimal effort.
  • Documented: XML documentation in the source
  • Source which passes full Code Analysis
  • Testable: Includes tests for its own source plus helpers for testing your own code
  • Flexibly licensed. The MIT license allows use in commercial products. You may also use Halfpipe under the terms of the GPL if you need that.

Applications using Halfpipe can
  • Use LINQ to Objects data for fast tests.
  • Separate Repository and Service Layer concerns
  • Use any architecture that is appropriate. Halfpipe does not dictate anything beyond Services and Repositories.

Halfpipe will be
  • Easy. I love how Rails lets you add a basic set of template operations for an entity type in one step. MVC tries to do this, but it doesn't push back as far as the data access.
  • Documented on the Wiki
  • Integrated into Visual Studio

Last edited Sep 1, 2010 at 2:38 PM by CraigStuntz, version 3