Readers in or near south west UK will be interested to hear that the brand-new DDD South West website has just been opened to the public. DDD SW is a free one-day conference for .NET developers, with sessions covering the new and the great in .NET and related technologies, plus an alternative track containing debates, discussions, workshops, and a ‘planning poker’ simulation. See the full agenda for more details.
DDD SW will be held at Queens College, Taunton on Saturday 23rd May. In the fine tradition of DDD events, there’ll be free food and no doubt plenty of swag to take home. Registration opens on Tuesday 3rd March. Note that the previous DDD 7 event was “sold out” within a few hours of registration opening, so you’ll have to sign up quick.
If you read the agenda closely, you might notice that I’ll be presenting the following session:
||Real-world MVC architecture (60 minutes)
||DDD SW at Queens College Taunton, Saturday 23nd May 2009
||If you could rewrite your current web application from scratch, how would you architect it? In this session I’ll show how ASP.NET MVC supports up-to-date thinking in clean software design, including key domain driven design principles, test-driven development, and swappable data access technologies using repositories. I’ll even throw in a bit of Silverlight, just to show how a strong domain model lets multiple UI technologies share not just data but also a single set of business rules. The focus will be on code, not slides or abstract explanations.
If you’re interested in speaking at DDD SW, the call for first-time speakers has just opened, too. This is a chance for anyone who’s never presented at a major event (this means TechEd, DevWeek, any previous DDD event, etc.) to give it a shot. Why not submit a session proposal? It could be your big moment!
If you’re new to ASP.NET MVC and are wondering what it’s all about, or if you have colleagues who don’t yet get it, then I hope this video might help. It’s a recording of a talk that I gave at the DDD7 conference in November 2008, covering the following:
- Why ASP.NET MVC is worth caring about [first 10 minutes with Powerpoint]
- What ASP.NET MVC is like to use [remaining 42 minutes of pure coding]
In the talk, I build a sample file-hosting application that demonstrates ASP.NET MVC’s approach to tidy code structure, clean URLs, full control over HTML markup, and simple Ajax. Here goes:
Sorry that the code is difficult to read at various points – hopefully the verbal description should explain adequately what’s going on.
With thanks to Liam Westley for physically mailing me the DVD, and to the DDD7 team and Microsoft UK for running and hosting such an excellent event and for filming the talks.
It’s kind of weird to watch myself! Hopefully though I can learn from my mistakes and deliver a slicker presentation next time…
Download the code used in this talk – you can get the completed source code for the “file host demo” that I built in this session here. Please note that this code is intended to work with the Beta version of ASP.NET MVC. It should be compatible with newer versions of ASP.NET MVC with some modifications, but I haven’t attempted it myself.
Just wanted to raise some awareness of Mike Saunders’s interesting Validation Aspects project, which he’s just written an xVal rules provider for. Validation Aspects is a validation framework for WPF and ASP.NET MVC. It’s built using aspect-oriented programming (AOP) technology, which means it can inject rule-enforcing code directly into your property setters. At the moment this doesn’t fit totally seamlessly with ASP.NET MVC’s built-in model binder, but it has potential to work great with the forthcoming RC version of ASP.NET MVC.
Since it’s now compatible with xVal, it automatically does client-side validation too.
What’s coming to xVal
I’ve been busy lately working on SQL Server 2008 stuff (oddly enough), but as soon as I’m through with that I’ll try and find time to enhance xVal in the following ways:
- Support for ASP.NET MVC Release Candidate (assuming it’s available)
- Support for NHibernate Validator, yet another server-side validation framework. This one’s closely integrated into NHibernate. Integrating this with xVal simply means that it will do client-side validation easily. I’ve already written most of the rules provider for this.
- Support for comparison validators (e.g., “return date cannot be before departure date”) and set validators (e.g., “you must enter A, B, or C”)
- Improved internationalization – so all the default error messages come out localized, regardless of whether the client-side library (jQuery Validation, ASP.NET native validation) offers internationalization
- Documentation on how to apply custom validation logic
Other feature requests are welcome.