Projektsetup ASP.NET MVC Webapplikation
Da ich ohnehin gerade dabei bin mein “Default” Projektsetup für das interne Entwicklerhandbuch zu dokumentieren, kann genauso gut auch ein Blogpost daraus werden. Gelebte Zweitverwertung.
1. Entwicklungsumgebung
- Visual Studio 2008 (optional aber dringend empfohlen ReSharper)
- Subversion (wir nutzen seit Kurzem unfuddle.com für SVN und Projektmanagementunterstützung)
- Virtual Box (VM für Testserver mit IIS und SQL Server Express)
2. Frameworks
- ASP.NET MVC + JQuery als Webframework
- Ninject für Dependency Injection
- NUnit und Moq für TDD
- log4net
3. Tools
- LinqPad zum testen von Linq Queries
- Notepad++ wenn es mal schnell gehen muss
- Paint.Net für schnelle grafische Anpassungen
- Expression Web zum Bauen von Templates und CSS
- Balsamiq für UI Mockups
4. Struktur der Visual Studio Solution
Jede Solution wird in mehrere Projektmappen aufgeteilt:
Domain: Enthält alle Domainobjekte sowie die Schnittstellendefinitionen der Repositories.
Infrastructure.Data: Enthält die jeweiligen Implementierungen der Repositories abhängig von der gewählten Datenzugriffsstrategie (NHibernate, Linq2SQL, EF, etc.)
Infrastructure.Messaging: Enthält Serviceimplementierungen für Mail Versand und andere Messaging Dienste
Presentation.Mvc: Enthält das ASP.NET MVC Webprojekt
Test: Enthält alle Unit Tests des Gesamtprojekts