Når jeg laver et objektorienteret program tænker jeg først på hvilke datastrukturer jeg skal have. Hvis jeg hypotetisk skulle lave et internet spil :) så ville naturlige objekter måske være: Users, Tribes, Units, Mails, Structures.
De gange jeg har brugt OOD har jeg så gået ud for disse ting og lavet objekter der kunne repræsentere og gemem dette data.
Problemet er nu at min applikation skal bruge en database til at gemme al informationen (i stedet for memory). Skal jeg nu lave en mere eller mindre eksakt kopi af mine tabeller (som objekter) og så loade min data ind i objekterne når jeg skal bruge dem? Eller er det åndsvagt. Hvis jeg ændre i databasen skal jeg jo lave en tilsvarende ændring i det pågældende objekt.
Jeg tror at objekterne kommer til at ligne tabellerne ret meget.
Er der nogen der ved noget om OOD og database udvikling?
Helst ikke da jeg gerne vil lave en ordentlig velstruktureret applikation, da andre også skal arbejde med den. Jeg håber bare der er en smart metode til at undgå de problemer der er...
Normalt vil man have tabeller der næsten afspejler din objekter! Forskellen kommer ved link attributter hvor man i stedet linker til den primære nøgle på objektet. Ligeledes ved Lister bliver man nødt til at lave en ny tabel til at indeholde dine data i listen.
Du kan selv vælge om du vil instantiere dine objekter ved programopstart eller du vil vente til de bliver spurgt efter - det kommer nok an på hvor stort dit system er. Ligeledes skal du vælge om du vil gemme i db, men det samme et objekt bliver ændret, eller du venter til program lukning. Det sikreste er selvfølgeligt at gemme med det samme, men også mere tidskrævende...
hvis du tidligere har lavet ooad har du sikker stødt på ålborgbogen ? Nå, men den har et afsnit (kap 17 - implementering) om hvordan man kommer fra en oo-model til en relationel model.
En sidste ting: web-applikationer har jo tit brug for at kører hurtigt. Derfor er jeg også lidt nervøs for at al for streng objektorienteret analyse kan gå ud over hastigheden
Ålborgbogen = Lars Mathiassen m. fl. "Objektorienteret analyse og design"
Synes godt om
Ny brugerNybegynder
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.