The Ultimate Lib Folder
I'm kicking off a new project - a WPF application using WCF and SQL Server, with a little ASP.NET MVC portal.
A fun part of new projects is getting to decide which technologies and libraries to use. For me, it's going to be:
- Autofac, the IOC container
- AutoMapper, for that left-hand = right-hand code
- Magellan, the navigation framework
- Moq, for mocking
- NBuilder for building test objects easily
- NHibernate and FluentNHibernate for that pesky database
- NUnit, for testing
A long-term goal for this application is to use a message bus for communication. For now, I don't want the infrastructure hassles, and it's not so important, so I'm hoping to make my code feel like I'm using a bus while really using point-to-point WCF. I was hoping to use Agatha, which makes WCF feel more like a messaging layer, but it would have introduced a third logging library that I just don't care for. Perhaps I'll fork the code or just borrow the ideas and write my own.
The ASP.NET MVC app will probably use the default ASP.NET view engine, but I'll switch to Razor if they ever release it.
For database management, I'm planning to use the same database deployment tool that I use for managing my blog. I just can't stand DataDude.
It's interesting to look on this list and compare it to what it might have been a few years ago. There's no trace of patterns & practices, and no third party control libraries - and especially no data grids :)
What does the lib folder on your current project look like?
No new comments are allowed on this post.
Comments
Ian Randall
OK, since you asked...
(oh, and I am using DataDude)
And yeah... no whiff of PRISM because my 2-screen solution doesn't need 17 projects ;)
Joseph Cooney
Autofac (support the local product!) Moq XUnit.NET Linq2SQL
Currently most navigation is "this view model is wired up to that view via xaml", but I should embrace Magellan.
Richard Banks
Don't use Moq - use NSubstitute and support Aussie devs :-) [Plus it's betterer]
And I'd also use XUnit instead of NUnit (and you may want to look at Machine.Specifications aka MSpec and take a BDD approach to your tests)
Mike Strobel
Davy Brion
for the record, Agatha uses Common.Logging which is an intermediary logging library which allows you to use other logging libraries (like log4net, enterprise library, ...) instead of forcing you to use log4net (which it originally used directly)
if you're already using NHibernate, chances are that you're already using log4net so Agatha's log output would just go to whatever log4net appender that you'd want
Sean Kearon
Couldn't forget these lovlies:
NLog for logging.
Json.NET for doing objects to strings and back!
Sean Kearon
Wow, NBuilder is very nice!
David Burela
I posted my response to my blog http://davidburela.wordpress.com/2010/07/26/what-does-your-current-technology-stack-look-like/
I have more information and a diagram on the post, but as a quick summary
Matt Hamilton
My development stack:
Or did you mean my current stack? ;-)
Nick Zdunic
Hi Paul,
Just wondering about your reasoning for choosing Autofac.
It looks lightweight but could I be losing something because of it.
Is it fast at resolution? Does it manage instances better? Can it do interception (e.g. like in Unity extensions)?
Interested in youir thoughts. There are quite a few containers out there now, but no definitive resource on deciding which is the best for the job.
Thanks,
Nick
Hammock
It looks lightweight but could I be losing something because of it.
Aluminum LED Flashlight
It looks lightweight but could I be losing something because of it.