Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Lite funderingar kring 3-tier... Hjälp!

Postades av 2003-10-16 22:18:22 - Martin Arvidson, i forum c# (c-sharp), Tråden har 6 Kommentarer och lästs av 1281 personer

Försöker förstå det här med att "tänka" i flera lager...
(Det skall initialt inte bli ngn client/server lösning; försöker dock skapa lite struktur i koden.)

1. Har skapat tre lager (data, application och ui). Varje lager ligger i varsitt projekt under en och samma solution. Koden är skriven i form av vanliga klasser i de tre projekten. Verkar detta vettigt?

2. Innebär detta upplägg att jag gör en exe av t ex applikationslagret, och dll:er av de två andra lagren? (Har aldrig gjort några dll:er, men det skall nog gå.)

3. Om nu detta sätt är rätt så borde det funka att lägga till en referens till t ex dblagret i applikationslagret och därmed kunna skapa objekt av klasser i dblagret för att kunna använda dess metoder... Eller?

4. Har jag tänkt rätt?

Mitt mest akuta problem är att jag från ett projekt försöker skapa ett objekt av en klass som ligger i ett annat projekt (dock i samma solution enl ovan). Detta funkar dock inte som det ser ut idag...

Är tacksam för kommentarer och eventuella förslag till andra lösningar.

Tack på förhand,
//Martin



Svara

Sv: Lite funderingar kring 3-tier... Hjälp!

Postades av 2003-10-16 23:48:36 - Fredrik Normén

Läste genom ditt inlägg ganska fort, och vad jag kunde se så såg det ut som du har tänkt rätt. Jag skulle rekommendera dig att du läser denna artikel:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/distapp.asp

Den handler precis om hur du kan bygga lösningar i .Net och den går igenom de olka lagrena mm.

n-Tier snabb översikt:

1) Presentationslagert ( Kan tex vara en Windows Forms eller Web Forms mfl.)

Presentationslagret igenligen enda syfte är att presentera data för en användare och även göra det möjligt att mata in data ifrom av tex formulär. Presentationslagret ska helst inte veta vilken datakälla som används för att hämta data. Presentationslagret får sin data utifrån affärslagret.

2) Affärslagret

Affärslagrets uppgift är att utföra affärslogik så som uträkningar, starta och stoppa transaktioner mellan flera komponenter mm. Affäslagret ska inte veta något om presentationslagret. Affärslagrets hämtar sin data från dataåtkomstlagret och har ingen vetskap om vilken datakälla som datan hämtas ifrån.

3) Datalagret

Datalagrets uppgift är att enbart att hämta och underhålla data. Se till så data kan hämtas, sparas, skapas och uppdateras mot en datakälla. Här används tex ADO.Net. Ska inte förekomma någon affärslogik i detta lagret utan det är affärslogikslagret uppgift att utföra det.

Varje lager kan du skapa som egna projekt i en solution. Detta innebär att varje projekt blir en egen assemlby (dll). När det gäller presenationslagret så skapar du tex ett webb eller windows form projekt. När det gäller referencer så välj add references och project och referera mellan projekt istället för mot själva dll:erna.

Det finns även templates i VS.Net som sätter upp projekt för distribuerade applikationer åt dig. Under Other Projects/Enterprise templates projects/ i VS.Net har du olika projekt mallar att välja på för att skapa skitade lösningar.

Ett tips är att du tar även en titt på Petshop 3.0 från Micrsosoft.

http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnbda/html/PetShop3x.asp

/Fredrik Normén NSQUARED2
http://www.nsquared2.net


Svara

Sv: Lite funderingar kring 3-tier... Hjälp!

Postades av 2003-10-17 10:57:14 - Martin Arvidson

Tack Fredrik för utmärkt information!

För att sammanfatta de praktiska detaljerna:
i UI-lagret skapar jag de formulär jag vill ha.
Sedan lägger jag till två "Class Library" vari ap- och db-lagen skall husera.
Nu är frågan; skall jag lägga till vanliga klassfiler i dessa, eller skall det vara komponenter? Har fått för mig att det blir dll:er av komponenter... Hamnar då vanliga klassfiler i den slutliga exe-filen?

Återigen, tack för utförligt svar.
//Martin


Svara

Sv: Lite funderingar kring 3-tier... Hjälp!

Postades av 2003-10-17 11:03:43 - Fredrik Normén

Hej,

När du skapar klassbibliotek så kommer varje klassbibliotek bli dll:er (Assemblies). Du behöver inte skapa dom som komponeter eller reigstrera dom i Component Services om du inte ska utnyttja de tjänster som component services erbjuder.

Assemblies som du skapar kommer inte hamna i själva exe-filen utan ligga löst utanför.

/Fredrik Normén NSQUARED2
http://www.nsquared2.net


Svara

Sv: Lite funderingar kring 3-tier... Hjälp!

Postades av 2003-10-17 11:13:35 - Johan Normén

Hej, om du skapar Class Library projekt så kommer dessa att läggas i en DLL fil. Så skapa ett Win Form projekt, där du sköter presenationen, sedan ett projekt som du ex kallar för Business och ett projekt du kallar för Data eller liknande, så kommer du autmatiskt få EXE fil samt två Dll:er. Hur du skall göra med infrastrukturen i ditt projekt får du bestämma själv, dvs de hjälpklasser du använder dig av. Hjälpklasser kan ex vara ett lager med Felhantering m.m. Klasser som inte är bundet till ett av dina tier utan som kan förekomma i alla.

JN



Svara

Sv: Lite funderingar kring 3-tier... Hjälp!

Postades av 2003-10-17 14:52:09 - Martin Arvidson

Jag tackar för hjälpen. Nu kommer jag nog vidare ;-)

//Martin


Svara

Sv: Lite funderingar kring 3-tier... Hjälp!

Postades av 2003-10-17 15:14:16 - Johan Normén

:-)
JN


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
6 147
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies