Archief - ASP.NET: 3 Tier

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

stefan3006

Legacy Member
Hello,

Ik moet op men werk een interne site gaan herschrijven in asp.net
Om het allemaal wat overzichtelijk en onderhoudbaar te maken wilde ik het 3 tier princiepe toepassen.
Ik ken dit princiepe in theorie maar ik weet niet echt hoe ik hier in praktijk juist moet aan beginnen...

heb al gegoogled maar meer dan wat het is kom je niet tegen.
kan er iemand mij mss enige info geven of eventueel boeken waarin dit mooi staat uitgelegd?

Thx,
Stefan

passero

Legacy Member
Zoek eens op MVC, je zal dan wel meer info vinden :)
MVC is het scheiden van model, view en controller. Daar bestaan designpatterns voor en daar kan je heel veel info over vinden met veel voorbeelden (meestal in c++ of java).

n00bslayer

Legacy Member
3-tier is gewoon je data abstract uit een database halen met behulp van een data accessor en dit vervolgens in je klasse-object steken.

(Jammer dat je hier geen bijlage's kunt plaatsen btw..)
Heb zo nog ergens een site in vb/asp.net (waar gebruik van 3-tier wordt gemaakt) liggen, je kan dit altijd eens bekijken - voorbeeldcode werkt voor mij in ieder geval altijd duidelijker dan theorie.

Klikkie.

Copyleft uiteraard :)

stefan3006

Legacy Member
thx, kzal het eens bekijken misschien dat het dan wat duidelijker wordt :)

AsinuS

Legacy Member
Hoe ik het altijd doe .. solution printscreen
(project is nog niet heel ver gevorderd :D)

Je hebt de datalaag met al je objecten in. De objecten stellen de tabellen in je database voor. De DataAccess laag bevat database functies en methoden. In clsAdo declareer je je verbinding (en factory) en implementeer je algemene functies die je in je dataaccess klassen nodig hebt, zoals bv het aanmaken van een storedprocedure command.

Code:
Public Function CreateSPCommand(ByVal sStoredProcedure As String, ByVal ParamArray parameters As DbParameter()) As DbCommand
        If sStoredProcedure Is Nothing Then
            Throw New ArgumentNullException("Stored procedure name cannot be null", "sStoredProcedure")
        End If
        If sStoredProcedure = String.Empty Then
            Throw New ArgumentException("Stored procedure name cannot be an empty string", "sStoredProcedure")
        End If

        Dim cmd As DbCommand = _factory.CreateCommand()
        cmd.CommandText = sStoredProcedure
        cmd.CommandType = CommandType.StoredProcedure

        If Not parameters Is Nothing AndAlso parameters.Length > 0 Then
            cmd.Parameters.AddRange(parameters)
        End If

        Return cmd
    End Function

clsRootDA gebruik ik om de juiste connectiestring te gebruiken (in debug mode ofzo) en maak ik een property aan van het type clsAdo ;)

Alle andere accessors erven dan van clsRootDA.

In je website doe je dan bv
Code:
Dim oUserDA As New clsUserDA
Dim oUser As clsUser = oUserDA.GetUserByUsername(userName)
lblUserName.Text = oUser.Username

Het is een beetje snel snel uitgelegd, maar 't gaat om the bigger picture he :cool:, hf & grtz
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan