24. juni 2005 - 19:24Der er
9 kommentarer og 1 løsning
Opbygning af site, hvad er bedst?
Hej allesammen
Jeg er i gang med større projekt, er i gang med ideproccesen og er i gang med at skrive alt ned på papir (kedeligt, men genialt :)
Til det har jeg et helt grundlæggende spørgsmål omkirng sidens opbygning: Man har en main-side, fx default.asp og så har man nogle underliggende sider, fx forum.asp, article.asp, community.asp osv. I forum-sektionen, har man mulighed for se kategorier, se tråde og oprette selv, der har jeg så et spørgsmål. Hvad er bedst? At man laver en fil - forum.asp og så bruger case-funktionen til at dele siden op, fx forum.asp?view=categori, forum.asp?view=threads eller at man laver en ny fil for hver deling - fx forum_categori.asp, forum_threads.asp.
Jeg vil gerne vide, hvad er mest effektivt, både med hastighed, videreudvikling, sikkerhed og evt. andet, det skal være langsigtet. Det er ikke en privat site jeg er i gang med at lave, men et med mere kommercielt formål. Jeg renger med at i løbet af nogle år, så vil besøgs tallet være over de 30.000 om dagen.
Personligt plejer jeg at lave det som undermapper, i sidste ende egentlig også i seperate filer. (f.eks. /forum/topics/ eller forum/read/).
En fordel ved at opdele dem er, er at når ASP-preprocessoren får dokuementet skal den ikke læse så meget igennem og åbne en så stor fil som hvis alt er samlet i én fil. (Jeg er ikke sikker på det tekniske her, men det er det mest logiske set fra min side :-) )
Ang. sikkerhed, så er det nok, måske ikke sikre, men der er måske lidt mindre chanche (vil jeg umidelbart tro) at man laver fejl ved at samle det i ét dokument, og ved forskellige cases. Det er nemmere at afgøre, også senere til vidreudvikling om man har adgang til den fil eller ikke..
Men det er ikke den store forskel, men det var de fordele jeg lige kunne se ved at lave dem i flere filer...
Meget er et spørgsmål om smag - personligt kan jeg godt lide én default-fil og ud fra nogle variabler (querystring eller andet) så inkludere en side svarende til variablen.
Men det er et slavearbejde at bruge cases til at inkludere sider med - brug i stedet server.execute for så slipper du for cases. Eneste ulempe herved er at du ikke kan medføre variabler fra default og videre til din inkluderede side men fordelene vil jeg mene er langt større.
Jeg kan selv både se fordel og ulemper i begge metoder...
Querystring metode, det ser meget fedt ud med alle de der ? og =, og man har den fordel at alt sammen lægger i en fil og at designet nemt kan ændres, da man slipper for at gøre det på alle underliggende filer. Men problem er som nævnt før, så skal serveren skal bruge tid hver gang på at læse hele dokumentet igennem.
Underliggende filer, det er en simpel måde med ingen dikke dar, man ved præcis hvor skal hen ved evt. fejl og undgår at rode rundt i flere tusinder linjer. Hvis designet så skal ændres, så har man balladen, det tager en hulens masse tid.
...hvis jeg nu vælger querystring løsningen, skal jeg så vælge at skrive koderne i hvert case eller inkluderen en ny fil, med koderne?
Fx
CASE "community" Velkommen til <%rs("brugernavn")%> ...
eller
CASE "community" Server.Execute "community.asp"
...hvad er bedst? Til det sidste eksempel, key, jeg får ikke brug for at medføre variablerne fra default, så det er ikke noget problem.
Blandt professionelle kodere skal man lede meget længe for at finde en, der bliver imponeret over en query-streng. Det er muligt, du finder at "det ser meget fedt ud med alle de der ? og =" ... men det er du nok temmelig alene om. Det er noget alle vi andre så vidt muligt undgår :) Er din kode rimelig fornuftig opbygget, tager det ikke længere tid at ændre design på den ene eller anden måde.
Umiddelbart synes jeg, det lyder somom, du bør lege meget mere med kodning, inden du kaster dig ud i et kommercielt site ... just my 2 cents :)
jeg ville - som sagt - slet ikke lave hverken case eller if-statements. spild af tid - lav det hele dynamisk.
når jeg taler om variabler er det alt - dvs også databaseconnections. så bruger default fra databasen og skal din inkluderede også bruge fra databasen skal du lave 2x connection.
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.