25. marts 2002 - 22:17Der er
11 kommentarer og 4 løsninger
Objekt orienteret og asp.net
jeg kunne egentlig godt tænke mig at vide hvor godt asp.net egner sig til egentlig objektorienteret programmering herved ment er det 100% muligt at lave sin egnen model med alt hvad der tilhøre og derefter ligge .aspx sider oven på som et rent gui lag.
Asp.net ER jo OOP, så jeg kan ikke se relevansen. Du kan ligge din kode i en seperat fil, således at ASPX-siden indeholder udelukkende referencer til objekter og html (dvs. GUI'et). Er det dette du efterlyser? Forsøg at rode lidt med at opbygge dine egne business-objects, og arbejd med code-behind. Så får du det du søger.
Det er rigtigt at codebehind-filen er en klasse, som nedarver GUI-filen.
Dette forhindre dig dog ikke i at lave alle de klasse (i nye .cls filer), som du måtte ønske og herefter bruge dem i din codebehind-fil. Det kan kan du gøre at det du lyster :o)
Men det vil i realiteten sige at jeg kun har mulighed for en controller klasse nemlig codebehind klassen men denne kan så bruge alle de klasser den vil. Det synes jeg nu ikke er helt optimalt.
madshenrik : Du snakker om muligheden for at modellere helt sin egen verden, med en masse klassefiler for forskellige objekter, der spiller specifikke roller i et overordnet model? Hvis dette er målet, er fremgangsmåden den samme som da man lavede ActiveX DLL filer til ASP. Du opretter altså et seperat projekt, hvor alt modellering foregår. Når det hele spiller, opretter du - præcist som du selv siger - en gui til at implementere denne model. Og her er springet asp.net og asp : ASP håndterer ikke objekt-orienterede modeller, dvs selvom du har lavet hele den forkromede model, der håndterer alle dine modeller, kan de kun i begrænset omfang instantieres i ASP. Jeg har selv rodet mig med at pålægge ASP denne funktionalitet, men har fundet afgørende begrænsninger. Og dertil kommer, at det er pisse besværligt at få registreret en DLL fil på en kommerciel server.
Det er det ikke med asp.net. Her har det yderste lag (selve gui'en) fuld understøttelse af oop. Du behøver ikke at anvende code-behind for objekt-instantiering, men det gør det lettere, da VS i så fald vil give kunne lave de nyttige "opslag" i objekter, når der trykkes punktum.
Desuden foregår registreringen af DLL filer ved blot at placere dem i BIN biblioteket - hvilket aflaster udbyderen, og dermed dine omkostninger.
Jeg er selv blevet bidt af modellerings-fasen, og implementerer derfor alle sites - store som små - efter den model du efterlyser, med fuld opdeling mellem gui og datastrukturer. Dette muliggør i langt højere grad kodegenbrug.
Som svar på dit spørgsmål, om det egner sig, kan jeg kun sige JA - 110% :-)
Du kan tilføje alle de klasser du vil til dit projekt, og lægge alt din business logik der. Hvis klasserne og asp.net siderne har samme namespace, kan man kalde dem fra sine sider.
Eller en hvilkensom helst text editor, men det er nok ikke muligt at lave noget rigtig seriøst med en tekst editor. Problemt er at Visiual Studio.NET koster en del, men der kommer sikkert snart nogen trial versioner.
"Du kan tilføje alle de klasser du vil til dit projekt, og lægge alt din business logik der. Hvis klasserne og asp.net siderne har samme namespace, kan man kalde dem fra sine sider."
Helt enig. Jeg siger heller ikke at man ikke kan - blot at det andet også er muligt. Jeg er mest fan af denne opdeling, da dll'erne kan opdateres individuelt. Men - det er jo en smagssag.
Trialversioner? Tror du? Jeg kan huske der engang var en trial version af Visual C++ - men kom der nogensinde en trial version af interdev?
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.