Required Software (Microsoft Base Software needed for Development environment)
- Visual Studio 2010 RTM & .NET 4.0 RTM (Final Versions)
- Unity Application Block 1.2 - October 2008
http://www.microsoft.com/downloads/details.aspx?FamilyId=2C8B79E7-AE56-4F90-822E-A1E43C49D12E&displaylang=en
http://msdn.microsoft.com/en-us/library/dd203104.aspx
- PEX v0.91.50418.0, 04/19/2010 - (including Moles) Visual Studio 2010 Power Tools Pre-Release
http://research.microsoft.com/en-us/projects/pex/downloads.aspx#PexMSDN
http://wpf.codeplex.com/releases/view/40535
http://wpf.codeplex.com/
- Silverlight 4 Tools RC2 (or newer) for Visual Studio 2010
http://www.microsoft.com/downloads/details.aspx?FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009&displaylang=en
New functionality in this V0.7:
Silverlight 4.0 Client -- Alpha version, just one screen
-- Silverlight project is 100% Blend 4 Friendly
-- Class Library with entities logic code for Self Tracking Entities process. We're referencing same code used in .NET through links, so, for this point we use same code for .NET and Silverlight, but we recompile it in a Silverlight library code which just has liks to .NET code situated in Domain.Core,Domain.MainModule.Entities.
IoC Unity types and mapping registration-- We changed it to use C#code instead of XML for all types and mappings registration. By default, we prefer this way because if you make a mistake when writing a class-type, you'll discover it at compiling time instead of execution time (if you use XML). For mappings that you are going to change frequently, you could use XML (you can uso both systems)
Domain classes grouped by Domain-ServicesWe have one folder per Service, containing implementation and related interfaces/contracts, like 'Orders folder' which contains:
IOrderServer, OrderService, IOrderRepository, and OrderSpecification clasess. Doing so, you don't have to be jumping to different sub-layers folders (Services, Contracts, etc.) when developing stuff related just about Orders, for instance.
Added global supression filesCrosscutting libs have been slightly refactorized (separated assemblies and namespaces are changed)
How To Setup this project in VS.2010:
After installing pre-required software, do the following steps
- Create an empty SQL Server 2008
DataBase called NLayerApp (conn-string is currently using SQL Server 2008 EXPRESS, like .\SQLEXPRESS)
-
IMPORTANT: Open the VS Solution and within the DATABASE project, execute the sql script called "Script.PostDeployment.sql". This will create all the tables needed bythe app. Take into account that thisscript will be executed in every app's execution, so, all data will be cleaned up, for testing purposes, etc. It you do not want this, just comment the content of thie .SQL file.
- Select the WPF project as 'Default project' for debugging.
- Depending on what you want to execute (
Repositories working against the real DB or against an in-memory 'EF-MOCK' we have), you can change it using just a
Web.config property in the
WCF WebSite project:
key="defaultIoCContainer" value="RealAppContext" will run aganist the Database (For running the App and INTEGRATION TESTS)
key="defaultIoCContainer" value="FakeAppContext" will run against the EF MOCK (Hardcoded data just in memory, much better and faster for UNIT TESTING)
(In the next future we'll create a SETUP PROCEDURE DOCUMENT and we'll publish our Architecture's core/root in an English document)