Ik ga me best doen om mijn vraagstuk zo duidelijk mogelijk te omschrijven.
Waar loop ik tegenaan?:
Stel ik heb een klasse maken Gebruiker. Deze zou er als volgt uit kunnen zien (simpel vb):
Nu stelt deze klasse dus een gebruiker voor waarvan de gegevens zijn opgeslagen in de database. Verder wil ik ook 'dingen' met deze gegevens kunnen doen (daar heb ik ook methoden voor gemaakt in de klasse Gebruiker).
Mijn vraag is: "Hoe moet ik volgens de OOP principes een object laden met gegevens. Waar moet ik die methoden definieren? Hetzelfde geldt voor het opslaan van de gegevens in de db van een nieuw gevuld object."
Nu maak ik een klasse gebruiker bijv. zo:
Maar dan moet ik ook methoden gaan aanmaken voor een nieuwe gebruiker, of het verwijderen van een gebruiker. Het lijkt me niet dat dit de bedoeling is om dat ook allemaal in de klasse Gebruiker te stoppen? Vooral om je ook met de velden zit die leeg zijn bij het initialiseren. Het is lastig uit te leggen maar ik heb het gevoel dat bijv. bij de Gebruiker klasse het aanmaken van een gebruiker niet in de klasse zelf hoort.
Het enige wat ik dan kan bedenken is een soort beheer klasse die alle gebruikers laad uit de db en vervolgens een lijst van Gebruiker objecten terug geeft. Ook zou deze klasse een NieuweGebruiker() methode kunnen bevatten. Hiermee kun je dan de veld waarden als parameter meegeven?
Bovenstaande betekend dan wel weer dat je voor elke klasse welke geladen, opgeslagen kan worden een 'beheer' klasse moet schrijven. Stel je voor dat je klassen hebt als Foto, Album, Gebruiker, Rol, Reactie etc. Dan kan dit ook best voor een onduidelijke structuur gaan zorgen.
Graag hoor ik van jullie wat dé manier is hiervoor!
Waar loop ik tegenaan?:
Stel ik heb een klasse maken Gebruiker. Deze zou er als volgt uit kunnen zien (simpel vb):
C#:
1
2
3
4
5
6
| public class Gebruiker { public int GebruikerId { get; private set; } public string Naam { get; private set; } //etc. } |
Nu stelt deze klasse dus een gebruiker voor waarvan de gegevens zijn opgeslagen in de database. Verder wil ik ook 'dingen' met deze gegevens kunnen doen (daar heb ik ook methoden voor gemaakt in de klasse Gebruiker).
Mijn vraag is: "Hoe moet ik volgens de OOP principes een object laden met gegevens. Waar moet ik die methoden definieren? Hetzelfde geldt voor het opslaan van de gegevens in de db van een nieuw gevuld object."
Nu maak ik een klasse gebruiker bijv. zo:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| public class Gebruiker { public void LaadGebruiker(int id) { //Hier wordt bijv uit een db gegevens opgehaald } public void SlaGebruikerOp(string naam, string wachtwoord) { //Hier worden de parameters gecontroleerd //en opgeslagen in de db. } } |
Maar dan moet ik ook methoden gaan aanmaken voor een nieuwe gebruiker, of het verwijderen van een gebruiker. Het lijkt me niet dat dit de bedoeling is om dat ook allemaal in de klasse Gebruiker te stoppen? Vooral om je ook met de velden zit die leeg zijn bij het initialiseren. Het is lastig uit te leggen maar ik heb het gevoel dat bijv. bij de Gebruiker klasse het aanmaken van een gebruiker niet in de klasse zelf hoort.
Het enige wat ik dan kan bedenken is een soort beheer klasse die alle gebruikers laad uit de db en vervolgens een lijst van Gebruiker objecten terug geeft. Ook zou deze klasse een NieuweGebruiker() methode kunnen bevatten. Hiermee kun je dan de veld waarden als parameter meegeven?
Bovenstaande betekend dan wel weer dat je voor elke klasse welke geladen, opgeslagen kan worden een 'beheer' klasse moet schrijven. Stel je voor dat je klassen hebt als Foto, Album, Gebruiker, Rol, Reactie etc. Dan kan dit ook best voor een onduidelijke structuur gaan zorgen.
Graag hoor ik van jullie wat dé manier is hiervoor!