Avatar billede dna Nybegynder
29. maj 2004 - 21:14 Der er 19 kommentarer og
2 løsninger

Kan objekter betale sig?

Hej alle.

Jeg står og skal til at lave en hjemmeside, og er lidt i tvivl om det kan betale sig at bygge grundstenen op med Objekter/klasser. Er der noget at vinde på det? (og evt. hvordan?)

Eller skal man bare bruge den gode gamle metode fra alm. asp, hvor man skriver/læser direkte i db´en hver gang.

På forhånd tak!

dna
Avatar billede erikjacobsen Ekspert
29. maj 2004 - 22:25 #1
For småting, hvor du arbejder på egen tid: formentlig ikke.
Store ting, for andres penge, i samarbejde med andre: sikkert.
Avatar billede master_fatman Nybegynder
29. maj 2004 - 23:44 #2
Hvad i alverden er dette for en diskusion, hvis jeg må spørge?!?!?!

Alt hvad du arbejder med i .NET platformen, mht til app development er da objekt orienteret!

Så ja.... det kan betale sig,- ALTID!
Avatar billede repsak Nybegynder
29. maj 2004 - 23:54 #3
Kommer an på hvad du vil. Så snart at du skal have mere end bare udskrive klokkeslet eller klient-ip så er OO altid mest praktisk.
Avatar billede master_fatman Nybegynder
30. maj 2004 - 00:01 #4
>>> respak

System.DateTime.Now ligger i et modul i stedet for en klasse og skal derfor ikke instantieres. Det er korrekt!

Men hvordan vil du lave softwaren (applikation arkitekturen) til et ordentligt website, uden brug af klasser?
Avatar billede erikjacobsen Ekspert
30. maj 2004 - 00:10 #5
Til småting behøver man slet ingen overvejelser omkring arkitektur. Det gjorde
man (typisk) heller ikke med ASP.
Avatar billede repsak Nybegynder
30. maj 2004 - 01:03 #6
master_fatman -> har du læst hvad jeg skrev? ;-)

erikjacobsen -> enig (selvom jeg har MEGET lidt erfaring med non-OO)
Avatar billede dna Nybegynder
30. maj 2004 - 09:20 #7
Ville I så have de objekter liggende i serverens hukommelse (Hvilken måde er lige nu lige meget), eller ville I hente dem i database, oprette objekterne og så vise den side brugeren havde bedt om ved hver request. Hvis man nu f.eks. skulle udskrive en liste over medlemmer/brugere af en eller anden hjemmeside.

Det som jeg havde forestillet mig kunne vinde noget, ville være hvis man kunne opbygge en arkitektur, hvor man kunne gå lidt væk fra den alm. .asp opfattelse (Som jeg betegner som en slags 'Transaction Script')

Håber flere vil deltage i denne "diskussion"... :-)

dna
Avatar billede repsak Nybegynder
30. maj 2004 - 10:41 #8
jeg ville nok hente fra databasen ved hver request... i nogle tilfælde er det nok med kun at hente fra DB ved !IsPostBack.
Du kan næsten ikke undgå at benytte serverens hukommelse, men ellers ligger der jo en hel del data i viewstate.
Ved ikke om det overhovedet gav dig svar på noget???
Avatar billede dna Nybegynder
30. maj 2004 - 10:49 #9
Hvis man henter dataen ud fra db´en ved hver visning (request), så har jeg nemlig svært ved at se det smarte i at oprette f.eks. medlems-objekter, bare for at vise dem i en liste?

Mine tanker var måske mere hen af at have f.eks. en collection af objekter liggende i ApplikationObjektet - altså have en form for modelkomponent liggende i hukommelsen, og dermed spare nogle (Mange) dbkald. Men, er det en god idé? :D

dna
Avatar billede repsak Nybegynder
30. maj 2004 - 15:01 #10
det smarte ved at kalde DB hver gang er at du er sikker på at du ser de nyeste opdaterede data.
Du kan i teorien godt have dine data liggende som app.obj, men så skal du sørge for at der er datasamtidighed. Det kan godt give problemer med hastighed også.

Men jeg kan ikke se hvorfor du vil oprette medlemsobjekter i en liste...? Hvad er det for en liste og hvorfor?
Avatar billede arne_v Ekspert
30. maj 2004 - 23:47 #11
[Now er en static property i en klasse]

Jeg tror at du skal skelne skarp mellem arkitektur/design og implementation/kodestil.

Du kan:
  - have en writeback cache med data (hurtig, crash mister data, kræver eksklusiv DB adgang)
  - have en writethrough cache med data (hurtig, crash mister ikke data, kræver eksklusiv DB adgang)
  - ikke cache dine data (langsom, crash mister ikke data, kræver ikke eksklusiv DB adgang)

Dit valg bør baseres på kravene til din applikation og ikke bestemmes af
programmerings sproget.

Med lidt større ting er det essentielt at adskille præsentation og
forretnings logik. Ja faktisk vil man helst dele det op i 3 ifølge MVC,
men lad os nøjes med de 2 for klarhedens skyld.

Og allerede her har ASP.NET nogen fordele fremfor ASP.

Med noget større ting begynder den måde koden laves på virkeligt at betyde
noget. Og her er OOP en stor hjælp. Og et par objekter som man kalder
metoder på er altså ikke nok til at kalde det OOP. Vi snakker interfaces,
abstrakte basis klasser, GoF patterns etc..

Og det kan C# og VB.NET i modsætning til VBScript.

For 15 år siden havde jeg som tommelfinger regel at man skulle
over 2000 linier kode for at OOP var bedre end procedural programmering.
Jeg er nok blevet lidt klogere siden. Men det kan stadigvæk ikke betale sig
at sætte det stor OO cirkus igang for at lave HelloWorld.
Avatar billede erikjacobsen Ekspert
31. maj 2004 - 00:29 #12
Vil "lidt klogere" betyde at du øger eller sænker tallet 2000 ?? ;)

Spøg til side.

En tilmelding til en mailingliste: ligemeget, gør som i gammeldags ASP-
En e-forretning: Så skal det være objektorienteret.

Men det er jo lidt sjovt/trist, at de indbyggede <asp:...> tingester i ASP.NET,
der går direkte i databasen ikke i sig selv adskiller præsentation og forretningslogik.
Tværtimod. Personligt synes jeg de bedst egner sig til Q&D-løsninger, og at man
til rigtige web-applikationer skal lave lige så meget arbejde som i alle andre
udviklingsmiljøer.

(Q&D=Quick and dirty)
Avatar billede dna Nybegynder
31. maj 2004 - 07:36 #13
Takker for alle de gode kommentarer!
I har helt sikkert givet mig noget at tænke over!

Jeg vil prøve at tænke mine krav igennem i forhold til den måde jeg vil implementere det på! Det er kun et fritidsprojekt (Godt nok et stort et), så giver mig god mulighed for at lege med det!

Lader lige spørgsmålet stå åbent lidt endnu, hvis andre skulle have en mening?!

Hvis folk vil have del i points, så skal de lige ligge et svar! - repsak, arne_v og erikjacobsen (Hvis du vil have denne gang *g*)

dna
Avatar billede arne_v Ekspert
31. maj 2004 - 10:36 #14
erik>

Jeg har fået mindre tillid til så firkantede regler. Så lad os sige at
jeg er gået fra 2000 til 500-2500 linier (der er nok en svag nedadgående trend).

De tilsvarende for JSP har fået følgende klamamse i J2EE tutorial fra SUN:

"The JSTL SQL tags for accessing databases listed in Table 14-8 are designed for
quick prototyping and simple applications."
Avatar billede arne_v Ekspert
31. maj 2004 - 10:36 #15
Og et svar
Avatar billede repsak Nybegynder
31. maj 2004 - 18:15 #16
hvis du kunne bruge det til noget såhh :-)
Avatar billede dna Nybegynder
31. maj 2004 - 22:04 #17
Venter lige på svar fra Hr. Jacobsen!
Avatar billede erikjacobsen Ekspert
31. maj 2004 - 22:07 #18
Ellers tak, jeg samler ikke på point. Og da slet ikke for luftige, ukonkrete råd ;)
Avatar billede dna Nybegynder
31. maj 2004 - 22:12 #19
Tak for "hjælpen" :D
Avatar billede master_fatman Nybegynder
31. maj 2004 - 22:41 #20
SDK:

Because Now is a member of a module, rather than of a class, you do not need to create an object on which to access Now.

Men hva.....
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