Avatar billede onkel_satan Nybegynder
21. juni 2005 - 22:20 Der er 7 kommentarer og
1 løsning

Oprettelse og styring af objekter.

Er kommet lidt i tvivl omkring styring af mit lille program. I mit program skal jeg håndtere nogle produkter, brugere og ordre.
Jeg har lavet alle klasserne, lagringen af data osv. nu er det saa bare hvordan jeg binder alt det her sammen.
Jeg er kommet på to måder:
1) Lav en 'styreKlasse' som indeholder nogle metoder som opretBruger(), opretOrdre(), opretProdukt().

2) Lad opretBruger(), opretOrdre(), opretProdukt() blive i deres respektive klasser Bruger, Ordre, Produkt og så gøre dem statisk saa de kan kaldes uden på forhånd at have oprettet et objekt af den pågældende type.

Lige præcis denne her problematik skriver de ikke om i mine bøger, så hvis nogen kunne give mig en tommelfinger regel eller link til noget læse stof omkring saadan noget her ville jeg blive glad.
På forhånd tak.
Avatar billede onkel_satan Nybegynder
21. juni 2005 - 22:23 #1
Nu når jeg tænker over det saa kan man jo bare benytte sig af konstruktøren i 2. metode.
Avatar billede arne_v Ekspert
21. juni 2005 - 22:24 #2
Hvis der er in memory oprettelse var den mest oplagte vel:

3) bare brug constructor
Avatar billede arne_v Ekspert
21. juni 2005 - 22:27 #3
Hvis det er on disk oprettelse, så er der flere muligheder. Et par stykker:

1) en ikke static void save uden argumenter og en static Xxxx med et id som
argument i selve Xxxx klassen

2) seperate klasser med static void save med en instans af Xxxx som argument
  og static static Xxxx med et id som argument for hver Xxxx
Avatar billede arne_v Ekspert
21. juni 2005 - 22:28 #4
du har nok brug for en styre klasse, men den skal vel lave noget
mere overordnet

opretOrdre checker om kunden er kredit værdig, om varerne eksisterer,
om varererne er på lager etc. inden den opretter ordren in memory og on disk
Avatar billede onkel_satan Nybegynder
21. juni 2005 - 22:35 #5
Yeps. Jeg har nogle også nogle planlagte opagave som at kontrollere betalingsfrister der skal køre engang i døgnet. Denne type opgaver kan vel passende proppes ind i en styreklasse.

Når jeg nu bruger constructoren til at oprette en ordre. Hvordan afbruder jeg så objektoprettelsen hvis det viser at alle betingelser for ordren ikke er opfyldt ?
Avatar billede arne_v Ekspert
21. juni 2005 - 22:58 #6
måske noget a la:

public class StyreKlasse {
  public boolean opretKunde(...) {
      if(opfylderbetingelser(...)) {
            Bruger b = new Bruger(...);
            b.save();
            return true;
      } else {
          return false;
      }
    }
}
Avatar billede onkel_satan Nybegynder
21. juni 2005 - 23:04 #7
ok. det var jo simplet. Ved ikke hvorfor jeg nogle gange gør ting mere kompliceret end de er. Smid et svar for point. Og tak for hjælpen.
Avatar billede arne_v Ekspert
21. juni 2005 - 23:17 #8
ok
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester