Autor Thema: Factory-Klassen  (Gelesen 2637 mal)

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Factory-Klassen
« am: 16.07.07 - 13:30:49 »
Hallo,

ich habe die Aufgabe bekommen eine meiner Anwendungen zu optimieren.

Ich habe bereits die gemeinsamen Felder in den Masken durch normale Felder ersetzt. Ebenso habe ich den Zugriff auf die Kundendaten, die ich aus einer 3270-Hostemulation auslesen, optimiert und reduziert. Leider ist die Klasse zum Zugriff auf den Host sehr komplex und die Metadaten für den Zugriff werden aus einer anderen Datenbank ausgelesen, was lange dauert.

Was noch offen ist, ist die Optimierung der Instanziierung der Zugriffsklasse auf die HOST-Transaktionen. Nach langer Recherche bin auf das Thema factory-Klassen gestossen. Das währe ein erster Ansatzpunkt, da ich die Instanzen der Klasse in einer Liste im Cache ablegen kann.

Nun endlich meine Frage: Wie lange bleibt die factory-Klasse im Speicher? Nur während des Ablaufs des Agenten oder länger? Ich werde aus den Unterlagen, die ich gefunden habe (HADSL-Blog und Red-Book) nicht schlau oder mein Englisch ist zu schlecht.

Ich hoffe, dass ich mit verständlich ausgedrückt habe und mir jemand weiterhelfen kann.

Rainer
Rainer Zaske

MCSD - C#

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Factory-Klassen
« Antwort #1 am: 16.07.07 - 20:39:59 »
Factory-Klassen im allgemeinen dienen der Kapselung der Objekterzeugung. Also ist eine Simple-Factory schonmal nicht das schlechteste, um dir das Erzeugen eines Objekts deiner Zugriffsklasse zu erleichtern. Vor allen Dingen, wenn du dieses an verschiedenen Stellen brauchst. Denn hiermit hättest du auch das holen der Metadaten für Verbindung etc zentral und müsstest nur an einer Stelle ändern, was bei Änderungen an diesen Daten eine unheimliche Erleichterung ist.

Zu deiner Frage: Eine Instanz einer Klasse bleibt nur für die Laufzeit des Agenten im Speicher und wird dann wieder verworfen.

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Factory-Klassen
« Antwort #2 am: 18.07.07 - 12:47:01 »
Konntest du nun was mit der Info anfangen, oder nicht?  :(

Ich finde es netter, wenn jemand noch ein Feedback gibt...

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Factory-Klassen
« Antwort #3 am: 18.07.07 - 12:51:20 »
Hallo,

entschuldigung, dass ich kein Feedback gegeben habe.

Deine Antwort hat mir in soweit weitergeholfen, das die Klasse nach Ablauf des Agenten aus den Speicher entfernt wird. Ich dachte ich könnte mit dieser Vorgehensweise vielleicht ein globale Variable simulieren, was aber nicht geht.

Ich muß jetzt nach anderen Wegen zur Beschleunigung suchen.

Rainer
Rainer Zaske

MCSD - C#

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Factory-Klassen
« Antwort #4 am: 18.07.07 - 13:33:00 »
Ich habe mir eben nochmal dein erstes Posting durchgelesen und denke über mögliche Beschleunigungen nach....

Hm... Vielleicht kannst du noch den Zugriff auf die Metadaten für die Verbindung beschleunigen... Die Frage ist für mich jetzt, woher kommen diese Daten und wie kommst du an diese heran? Vielleicht existiert hier noch Potential...

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Factory-Klassen
« Antwort #5 am: 18.07.07 - 13:38:15 »
Die Metadaten liegen in einer Notes-Datenbank auf dem gleichen Server. Da sehe ich keine große Potentiale mehr.

Wo ich einfach noch Potential sehe ist das Ersetzen der gemeinsamen Felder und das entfernen nicht benötigter Felder.

Rainer
Rainer Zaske

MCSD - C#

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz