Avatar billede magoo20000 Nybegynder
31. august 2002 - 16:47 Der er 5 kommentarer og
1 løsning

ASP.NET - 2/3 tiers

Jeg er ikke sikker på, at dette er den rette kategori at stille dette spørgsmål i, men here it goes:

Jeg er netop begyndt med .NET eller rettere ASP.NET.

Under dette, er jeg flere gange stødt på begrebet 2, 3 og n-tiers. Hvad menes præcist med dette? Har det noget at gøre med, hvad der ligger på klient og server(og evt. db-server)? Når man taler om servside-scripting ligger der vel ikke noget som sådan på klienten (får jo f.eks. sendt noget html tilbage fra servers vha. ASP.NET og evt. C#).

Håber der er nogen, der kan give mig lidt hjælp, for rundt om på Nettet bliver disse lag forklaret på mange (vidt forskellige) måder efter min mening!
Avatar billede cms Nybegynder
31. august 2002 - 17:10 #1
Når 2 komponenter er "tied" er de "forbundne".
Hvis du har et n-tier system (hvor n kan have forskellige værdier selvfølgelig) betyder det at du har et lag af forskellige komponenter.
Dette bruges mest i databaseprogrammering.

Fx kunne du have følgende lag:

1. DatabaseConnection
2. Database
3. Query
4. Dataset
5. Container

Hvert lag kan så skiftes ud med en vilkårlig komponent der deriver fra base classen for det lag, fx "Database"
På den måde sikrer man at der skal meget lidt kodeændring til at skifte fra mysql til mssql fx.
Avatar billede cms Nybegynder
31. august 2002 - 17:12 #2
.. man skal bare skifte ud i det rette lag, mens alle andre lag kan beholdes.
Hvert lag har så et interface (abstrakt set altså, ikke nødvendigvis et interface!) som kan ses af de to lag det skal forbinde med (tie).
Derfor er det muligt at lave komponenter til et givent lag uden at have koden til de andre lag.
Avatar billede magoo20000 Nybegynder
01. september 2002 - 18:25 #3
Okay.. Der lettede tågen lidt! Er det i øvrigt korrekt forstået, at klienter er 'tynde', når man benytter ASP.NET... Der ligger vel ikke andet, end på dem end browseren(modsat kan man vel gøre dem tykke vha noget javascript og en java applet)??
Jeg har set eksempler, hvor der er blandet C# sammen med asp-kode i .aspx filen - er det ikke det man vel kode for uheldig sammenblanding eller hård kobling? Burde alt C# ikke ligge på f.eks. tier 2 i klasse-filer?
Avatar billede cms Nybegynder
01. september 2002 - 20:12 #4
Godt =)
Man kan godt argumentere for at ASP.net afvikles både på server og client. I de fleste tilfælde køres koden på serveren som managed code i dll-filer, der automatisk kompileres af MS' JIT compiler (Just-In-Time). Dine aspx og cs-filer m.v. bliver oversat fra c# eller vb.net eller hvad du nu benytter til MSIL (Microsoft Intermediate Language) som er et mellemniveausprog imellem assembler og højniveau som fx c#
Men hvis du nu har valgt at bruge en validator til fx et input felt i en Web Form vil serveren sende javascript kode sammen med html-koden som selvfølgelig vil blive afviklet på klienten. Altså ligesom klassisk ASP.

Dit andet spørgsmål: At blande kode sammen med html skulle helst undgås, jo! Og ja al C# kode burde ligge et niveau længere væk.
Men vær også opmærksom på at det kræver utroligt mange ressourcer - hvis du har mange besøgende - at benytte dig af Server Controls (altså når du bruger "runat=server"). Dette får nemlig serveren til at lave et nyt instance af objektet ved hver eneste request hvilket kræver meget hukommelse og er langsomt. Se iøvrigt .NET dokumentationen for yderligere råd om Performance Optimization.
Men hvis dit mål er flot kode, så hold dig til klasse-filer.
Et andet problem med dette er dog også udviklingshastigheden, der forværres markant ved udvikling af små sites, hvis man skal skrive al kode i codebehind filer.
Avatar billede cms Nybegynder
01. september 2002 - 20:13 #5
Har du en mail/MSN ?
Avatar billede magoo20000 Nybegynder
01. september 2002 - 20:58 #6
Jeg har følgende email: martin2000@stofanet.dk
Jeg skal udarbejde en datamatikeropgave, og jeg har valgt at kaste mig ud i .NET - har arbejdet i nogle måneder med C#, så lidt kender jeg da til det ;-).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester