We gaan nu stap voor stap het framework bouwen. Ik gebruik hiervoor Visual Studio 2005.
Maak in Visual Studio een nieuwe Solution aan. File->New->Project. In de treeview ProjectTypes selecteer je Other Project Types -> Visual Studio Solutions. Vervolgens selecteer je in Templates de Blank Solution. Noem de Solution OrderSystem.
Het eerste wat we nu gaan doen is de Logische indeling in Layers maken. Klik in de Solution Explorer met de rechtermuisknop op de solution node. Selecteer Add->New Solution Folder. Geef de folder de naam DataLayer. Doe hetzelfde nog een keer voor Business Layer en Framework.
We gaan nu de benodigde projecten aanmaken in de solution folder DataLayer. Klik in de Solution Explorer met de rechtermuisknop op de DataLayer folder. Selecteer Add-> New Project. Kies voor Class Library en noem het OrderSystem.DataLayer. De project zal straks het generieke interface zijn van de DataLayer, omdat we de data op moeten slaan in SqlServer, maken we op dezelfde manier nog een Class Library aan met de naam: OrderSystem.DataLayer.SqlServer.
Nu hebben we de structuur voor de DataLater aangemaakt. Zoals het je misschien al is opgevallen kunnen we straks voor elk type opslag een nieuw project aanmaken.
We gaan nu de benodigde projecten aanmaken in de solution folder BusinessLayer. Klik in de Solution Explorer met de rechtermuisknop op de BusinessLayer folder. Selecteer Add-> New Project. Kies voor Class Library en noem het OrderSystem.BusinessLayer. De project zal straks de facade zijn van de BusinessLayer. Daarnaast maken we nog een aparte class library aan met de naam OrderSystem.BusinessLayer.BusinessObjects. Hierin komen de domein objecten. De domein objecten worden straks door alle lagen heen gebruikt als transportmiddel voor de data. In de OrderSystem.BusinessLayer project word de business logica geplaatst.
In het voorbeeld van het OrderSystem zullen we niet zoveel doen met de Framework solution folder, maar als je te maken hebt met een groot project dan kun je daar bijvoorbeeld generieke libraries in plaatsen, zoals: Logging, Exception Handling, Transaction ondersteuning, Validation, Security, etc. Op mijn werk gebruik ik vaak de Enterprise Library van Microsoft. De dll’s van de Enterprise Library plaats ik in een folder EnterpriseLibrary onder de folder Framework. Je moet de folder Framework zien als een verzameling waarin allerlei generieke code staat die door alle lagen heen gebruikt kan worden.
Om je een idee te geven hoe dit te gebruiken, zullen we Transactions ondersteuning gebruiken. Maak onder het framework folder een class library aan met de naam OrderSystem.Framework.Transactions.
We hebben nu de structuur van het framework af, op de Interface na. Afhankelijk van het type interface (Windows, Web of Windows SOA) kun je een nieuw project en/of website toevoegen aan de solution. We zullen in eerste instantie een simpele standalone windowsapplicatie maken.
Klik in de Solution Explorer met de rechtermuisknop op de OrderSystem folder. Selecteer Add->New Project -> Windows Application. Noem deze WinOrderSystem. Stel deze meteen ook in als de Startup Project (Rechtermuisknop op het project en klik Set As StartUp Project).
De volgende keer gaan we de Business Objecten aanmaken.

