Toon posts:

[ASP.NET]Grote webapplicatie structureren

Pagina: 1
Acties:

Verwijderd

Topicstarter
In opdracht van een organisatie waar ik bij aangesloten ben moet ik binnenkort een webapplicatie maken in ASP.NET. Het is niet de eerste keer dat ik ASP.NET gebruik, maar wel de eerste keer dat het om een "groot" project gaat.

Met "groot" bedoel ik een applicatie die veel functionaliteiten moet kennen en makkelijk uitbreidbaar zijn. Het gaat om een soort ledenbestand maar dan heel uitgebreid. Even een overzicht:
- Uiteraard moeten alle leden van de organisatie te vinden zijn
- Verantwoordelijken voor een bepaalde groep moeten informatie over de mensen in hun groep kunnen raadplegen en aanpassen
- Personen moeten tot meerdere groepen kunnen behoren en veranderen van groepen
- Administrators moeten alle gegevens kunnen veranderen van alle personen
- Op basis van de gegevens moeten voor de correcte verantwoordelijken de correcte lijsten in pdf gemaakt worden
- Verantwoordelijken moeten via het web makkelijk naar al hun medewerkers kunnen mailen op basis van de gegevens die in de database staan
- Het systeem moet problemen kunnen opsporen en melden aan de administrators
- Nieuwe groepen moeten zonder problemen aangemaakt kunnen worden en oude verwijdert
- ...

Zo gaat de lijst nog lang door. Op zich is het niet echt moeilijk om al die functionaliteiten in te bouwen maar ik heb het gevoel dat mijn manier van werken helemaal niet optimaal is. Momenteel werk ik gewoon pagina per pagina voor alle functionaliteiten. Sommige pagina's bevatten daardoor 10-tallen datasets om de correcte gegevens terug te vinden. Als er nu iets zou gebeuren waardoor er dingen verandert moeten worden kan ik dus alle pagina's af gaan om de bepaalde dataset te vinden waarin aanpassingen moeten gebeuren. Bovendien kan ik dan wrsch op vele pagina's identiek dezelfde wijziging gaan aanbrengen...Niet echt optimaal te noemen.

Daarom ben ik nu op zoek naar hoe je zo een grote applicatie best aanpakt. Ik denk hierbij aan een soort centrale pagina waar je alle functionaliteiten 1x definieert (bv. geefInforamtie(lidnummer) ) en die je dan in al je pagina's kan oproepen (bv. overal waar je de informatie van een bepaald lid wil roep je gewoon even geefInformatie(lidnummer) op en je hebt meteen een volledige dataset met alle gegevens die je dan op je pagina kan schikken). Ik ben er zeker van dat zoiets moet bestaan maar ik weet niet wat. Kunnen jullie me op weg zetten naar wat meer informatie over hoe je zoiets aanpakt?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:27

TeeDee

CQB 241

Classes en/of Usercontrols?
Dat is namelijk het eerste wat mij te binnen schiet.

ik wil hier zelf ook meer van weten dus bookmark ik deze ook wel :)

Heart..pumps blood.Has nothing to do with emotion! Bored


  • 6K
  • Registratie: September 2002
  • Laatst online: 19-01-2025

6K

is ook zo...

Hoe ziet je architectuur er uit?

٩(͡๏̯͡๏)۶ ٩(●̮̮̃•̃)۶


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

Ik heb drie letters voor je: MVC. Ikzelf gebruik java (struts), maar ik neem aan dat er voor .NET ook wel frameworks te vinden zijn.

Sowieso zou ik afstappen van het idee 'pagina's' implementeren en gaan denken over 'acties' implementeren. Dat lijkt misschien hetzelfde, maar bij een actie is een pagina slechts het afsluitende weergave deel.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • 6K
  • Registratie: September 2002
  • Laatst online: 19-01-2025

6K

is ook zo...

^^ met stom is, daarom vroeg ik al naar architectuur ;)

٩(͡๏̯͡๏)۶ ٩(●̮̮̃•̃)۶


  • CrazyBernie
  • Registratie: Februari 2001
  • Laatst online: 07-03 08:46

CrazyBernie

Good for you better for me

Ten eerste lijkt het me handig om eerst een boek te kopen over gestructueerd programmaren in .net. Aangezien uit jouw verhaal blijkt dat je niet echt ervaring hebt met dit soort dingen.

Een de manieren om dit soort dingen te structuren is door te kiezen voor de volgende 3 lagen
1. Presentatie laag (met daarin de html pagina's)
2. Busines logic laag met daarin alle benodigde functies georganiseerd in classes
3. Een database laag met daarin de database.


Kijk bijvoorbeeld een op http://www.gotdotnet.com

Daar staan workspaces met grotere projecten. ook op
http://www.asp.net staan diverse voorbeelden.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:27

TeeDee

CQB 241

Janoz schreef op dinsdag 04 januari 2005 @ 10:46:
Ik heb drie letters voor je: MVC. Ikzelf gebruik java (struts), maar ik neem aan dat er voor .NET ook wel frameworks te vinden zijn.
MVC as in "Model View Controller" ?
Is dat net zoiets als Visio oid?
Nevermind, wat meer gevonden en gelezen.

[ Voor 10% gewijzigd door TeeDee op 04-01-2005 10:51 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Stiegl
  • Registratie: Mei 2004
  • Laatst online: 26-03 10:59
Inderdaad Model View Controller. En Microsoft biedt het aan in zogenaamde Application Blocks. Het MVC block heet het User Interface Process (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp). Andere interessante Application blocks zijn Data, Logging en nog zo wat....

[ Voor 32% gewijzigd door Stiegl op 04-01-2005 10:55 ]

Uit onderzoek is gebleken dat 85% van alle statistieken niet klopt


  • 6K
  • Registratie: September 2002
  • Laatst online: 19-01-2025

6K

is ook zo...

je zegt dat je dit 'binnenkort' moet gaan doen. Ik raad je idd aan om snel te beginnen uit te vogelen hoe zo'n 3 lagen structuur werkt. Die ga je ECHT hard nodig hebben.

De DAL (Data Acces Layer) van Microsoft moet je ook zeker gaan bekijken, die is er nuttig, als je met access gaat werken moet je effe verder zoeken met (ik geloof) gotdotnet.com of zow, die hebben een vertaling gedaan van SQL naar Access.

Maar als beginner (zo lees ik je verhaal) ga je hier een hele kluif aan krijgen als je zoiets nog nooit gedaan hebt. suc-6

٩(͡๏̯͡๏)۶ ٩(●̮̮̃•̃)۶


  • CrazyBernie
  • Registratie: Februari 2001
  • Laatst online: 07-03 08:46

CrazyBernie

Good for you better for me

Misschien nog beter om eerste eens even de guide te lezen van microsoft omtrent hun 3 tier model.

http://msdn.microsoft.com...us/dnbda/html/distapp.asp

Aantekening lees de guide niet alleen maar probeer ook alles te begrijpen.

Daarnaast zou ik in jouw geval ook een basis boek .net aanschaffen. (niet asp.net maar algemeen .net daarna pas beginnen met asp.net)

[ Voor 19% gewijzigd door CrazyBernie op 04-01-2005 11:01 ]


Verwijderd

Topicstarter
6K schreef op dinsdag 04 januari 2005 @ 10:55:
je zegt dat je dit 'binnenkort' moet gaan doen. Ik raad je idd aan om snel te beginnen uit te vogelen hoe zo'n 3 lagen structuur werkt. Die ga je ECHT hard nodig hebben.

De DAL (Data Acces Layer) van Microsoft moet je ook zeker gaan bekijken, die is er nuttig, als je met access gaat werken moet je effe verder zoeken met (ik geloof) gotdotnet.com of zow, die hebben een vertaling gedaan van SQL naar Access.

Maar als beginner (zo lees ik je verhaal) ga je hier een hele kluif aan krijgen als je zoiets nog nooit gedaan hebt. suc-6
Inderdaad, ik begin hier 'binnenkort' aan omdat ik nu nog in examens zit. Gelukkig heb ik wat tijd om hieraan te werken. De hele applicatie moet tegen midden juli af zijn dus heb ik nog ff tijd om alles uit te zoeken.

Ik ben inderdaad ook een beginner. Ik heb al met .NET gewerkt (en een volledig werkende windows-app geschreven die met een database verbinding maakt etc etc, was ik toen heel fier op) maar nooit echt 'geleerd'. Alles dat ik momenteel kan heb ik uit mezelf geleerd door tutorials te lezen en dan te gaan prutsen en kijken wat het resultaat is. Ik weet dat het moeilijk zal zijn om het volledig onder de knie te krijgen maar zo een grote applicatie bouwen zonder te structureren is volgens mij nog moeilijker.

Maar naar wat moet ik nu gaan zoeken? Ik hoor hier over 3 lagen structuren (ik gok dat die tiers zijn, daar heb ik al eens over gelezen) maar dan ook over MVP...is dat hetzelfde of zijn het verschillende dingen? En welk van de twee moet ik dan kiezen?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet idd eerst gaan zorgen dat je al je logica uit je pagina's haalt. De pagina's zijn het laatste stukje presentatie die alleen wat classes aan moet spreken en wat events en gegevens terug moet geven.

Je gaat dus bijvoorbeeld een class Lid maken die properties heeft zoals Naam, Adres en noem maar op.

Dan kan je op een pagina gewoon die Properties weer weergeven zonder dat je in je Page nog met DataSet's aan de gang gaat. Als je op meerdere pagina's dezelfde soort data weer wilt geven is het dan ook nog eens handig om dit in een eigen WebControl te zetten zodat als je daar later wijzigingen aan wilt maken je dit op een centrale plek kunt doen.

Maar net zoals de andere boven mij al zeggen is het mischien handig om een boek te kopen die dit allemaal duidelijk uitlegd.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
rwb schreef op dinsdag 04 januari 2005 @ 11:02:
Maar net zoals de andere boven mij al zeggen is het mischien handig om een boek te kopen die dit allemaal duidelijk uitlegd.
OK, wat denken jullie van dit plan:

- Ik lees de gegeven link over het 3-tier model door en kijk in de MSDN naar alles wat ik kan vinden over 3-tiers.
- Ik koop een goed boek over .NET (of ASP.NET) als ondersteuning voor dingen zoals Webcontrols en het programmeren van klassen.

Geraak ik op zo een manier tot een werkend geheel volgens jullie? Zo ja: welke boeken kunnen jullie mij aanraden om aan te schaffen?

Verwijderd

Verwijderd schreef op dinsdag 04 januari 2005 @ 11:00:
Ik weet dat het moeilijk zal zijn om het volledig onder de knie te krijgen maar zo een grote applicatie bouwen zonder te structureren is volgens mij nog moeilijker.
In eerste instantie wel, je zult het moeten leren begrijpen. Maar als je het eenmaal door hebt, en een basis hebt staan zul je al snel merken dat wijzigingen, bugfixes, een stuk sneller en makkelijker gaan dan de oude manier en je ook een stuk minder hoeft af te vragen of alles nog wel overeind blijft staan.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op dinsdag 04 januari 2005 @ 11:08:
[...]

OK, wat denken jullie van dit plan:

- Ik lees de gegeven link over het 3-tier model door en kijk in de MSDN naar alles wat ik kan vinden over 3-tiers.
- Ik koop een goed boek over .NET (of ASP.NET) als ondersteuning voor dingen zoals Webcontrols en het programmeren van klassen.

Geraak ik op zo een manier tot een werkend geheel volgens jullie? Zo ja: welke boeken kunnen jullie mij aanraden om aan te schaffen?
Het is ieder geval een goed begin. Ik weet niet wat je achtergrond is qua design van software en dergelijken. Anders is het mischien ook een goed idee om een algemeen boek over Object georienteerd software development aan te schaffen.

Voor goede boeken loopt er een Boeken topic dus dat is mischien handig om door te lezen. Er zal in de FAQ wel een linkje naar staan.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • CrazyBernie
  • Registratie: Februari 2001
  • Laatst online: 07-03 08:46

CrazyBernie

Good for you better for me

Verwijderd schreef op dinsdag 04 januari 2005 @ 11:08:
[...]

OK, wat denken jullie van dit plan:

- Ik lees de gegeven link over het 3-tier model door en kijk in de MSDN naar alles wat ik kan vinden over 3-tiers.
- Ik koop een goed boek over .NET (of ASP.NET) als ondersteuning voor dingen zoals Webcontrols en het programmeren van klassen.

Geraak ik op zo een manier tot een werkend geheel volgens jullie? Zo ja: welke boeken kunnen jullie mij aanraden om aan te schaffen?
Lijkt me inderdaad ook erg verstandig.
Pagina: 1