Some personal thoughts and experiences:
- use nhibernate as orm or wait for EF v4. Tekpub.com has a good tutorial on using NH. L2S and EF are a black box: they do a lot of things, they have good documentation, but they do not have an extensibility point. If you want to connect some new features or change the behavior, you can only do this with NH. EF in v4 will be able to when NH was 2 or 3 years ago.
- Browse as many sample MVC applications as you can find. You can find many of them on codeplex. For example: CodeCampServer, WhoCanHelpMe, Storeddd
- if you are thinking of creating a framework (or assistant) to solve some problems with the infrastructure, first contact him; this is a high probability that someone else is smarter than you (well, smarter than me in my case) already had the same problems, and wrote a good piece of code in the form of a framework (mapper object, validation, messaging, ...) or just a blog about it.
- Using sharp architecture, or fubuMvc solves most of the infrastructure, but the rest of the application depends on your business model.
- TDD will force you to write good and convenient code. Try to use the Gang of Four design templates and SOLID principles as much as possible.
Hrvoje hudo
source share