Jeg er igang med at lave et projekt, men jeg har problemer med at finde ud af hvilken komponent arkitektur jeg skal vælge og hvorfor.
Det drejer sig om en form for webshop lavet i ASP/MySQL - det er kun denne del af systemet der er relevant for projektet.
Det er naturligt nok at det skal være en klient/server løsning, men jeg kan ikke rigtigt finde ud af, hvor jeg skal ligge mine klasser(dvs. .asp sider)
tier 1 & 2 kommunikerer med HTTP eller HTTPS tier 2 & 3 kommunikerer med ODBC
Der skal udvikles til tier 2 (ASP sider) og tier 3 (tabel struktur).
Tier 2 bør definitivt laves med MVC.
Men så slipper min ASP viden op.
Jeg ved ikke hvordan man laver MVC i ASP.
Jeg ved ikke hvordan man laver ASP komponent baseret (man kan selvfølge skrive COM moduler i C++ og bruge dem, men det er vist at jage fluer med Leopard kampvogne).
OMG/UML definition: A component represents a modular, deployable, and replaceable part of the system that encapsulates implementation and exposes a set of interfaces.
3 amigos/UP definition: A component is the physical packaging of model elements, such as design classes in the design model.
Det er indlysende at databasen kan opfattes som en komponent.
Indkøbscentral er jeg ikke helt sikker på hvad er, men det kunne godt lyde som en komponent.
De andre er jeg lidt mere skeptisk overfor.
Brugergrænseflade vil jeg ikke kalde en komponent. Men jeg er altså også mere vant til lidt snævrere definitioner af komponent (se ovenfor).
Og model er vel noget bredere end en komponent.
Jeg ville nok snarere dele det op efter funktionalitet: - login og bruger administration - ordreafgivelse og ordrevisning - ordre behandling (videreekspedering) - betaling - rapportering etc.
Det lyder da også som god ide, der er bare den lille detalje at jeg kun skriver om bruger-delen af systemet.
Dvs. alle former for administration er ikke med i mit projekt.
Her er et uddrag fra en anden rapport om et andet web-baseret projekt:
"3.1.3 Kombination af traditionel- og web-applikation
Der er også muligheden for at kombinere en traditionel klient applikation med en web-applikation. En webapplikation, der afvikles på serveren, kan have samme komponentarkitektur som en traditionel klient applikation, f.eks. en brugergrænseflade-, model- og database komponent. Komponentarkitekturen for vores system ser på nuværende tidspunkt således ud:
I dette eksempel giver brugergrænseflade komponenten og database komponenten sig selv. I webapplikationer laver man ofte meget af funktionaliteten i brugergrænseflade komponenten. Vi har dog i tidligere projekter oplevet, at man ikke altid kan nøjes med det. Derfor vil vi, fra start af, indføre en modelkomponent med funktioner. Det giver os mulighed for at fjerne noget af funktionaliteten fra brugergrænseflade komponenten, og placere det i en modelkomponent i stedet."
Hvis man skal have adskilt presentation og business logic, så må presentation skule være HTML genereret fra ASP side. Men hvad skal business logic være ?
Mit gæt som ASP ignorant er at det skal være et library af VB kode som kaldes fra den embedded VB i ASP siderne.
"Hvis man skal have adskilt presentation og business logic, så må presentation skule være HTML genereret fra ASP side. Men hvad skal business logic være ?"
Hvis du mener lige præcist det du siger(ren html), og ikke andet, så sker der jo mange andre ting i koden - som f.eks. beregninger og database kald.
Men det er vel ikke det du mener, vel?
"Mit gæt som ASP ignorant er at det skal være et library af VB kode som kaldes fra den embedded VB i ASP siderne."
Der er ikke noget der bliver kaldt på den måde. Det nærmeste man kommer på det, er når man sender data fra en side til en anden.
"Hvis man ikke kan flytte sin kode over i et library..." Altså, man KAN godt, men normalt gør man det ikke fordi koden normalt kun skal bruges et sted.
"Og det må også blive svært at skelne mellem brugergrænseflade komponent og model komponent."
"Mine manglende ASP kundskaber gør at jeg ikke rigtigt kan komme med nogle gode råd." Hmmm.... Så må jeg nok hellere ty til det der står i den anden rapport. :/
Småting? ;)
Ja, jeg har da også een af de ting du nævner, nemlig en hund. :)
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.