Zitat |
Zitat |
Wie ist gewährleistet, dasses von überall zugreifbar ist? ist class BusinessLogic ein Singleton? |
Also wenn ich das richtig verstehe, dann musst du in der factory Method nur ein Objekt der entsprechende Klasse erzeugen in dem du es haben willst und dem Constructor das
übergeben.
Und dann kannst du in der Klasse per
drauf zugreifen.
|
Das sieht mir aus wie ein leicht verunglückter Singleton-Pattern: Pro BusinessClass sind die Datasets Singletons, aber wenn einer eine 2. BusinessClass erstellt, gibts doch wieder 2 Datasets. Und komplizierter isses außerdem.
Ich merke doch deutlich eine entstehende Verwirrung, weils ein Dataset gibt, und eine Methode returnDataset, und eine Dataset-Klasse, die kein Dataset ist, und einen privaten Member, der auch Dataset heißt, und das einzig wirkliche Dataset in der Geschichte ist doch wohl die typisierte Dataset-Klasse FileHosterAssignDataset.
sorry, sieht mir nicht eigentlich solide aus
ich weiß natürlich nicht, was daran nun richtig verstandener, und was falsch verstandener factoryPattern ist, weilich den factoryPattern noch nicht kapiere. Aber vlt. lernichs hier ja
Zitat |
So, ich habe da aber noch eine Frage:
Ich habe jetzt das Beispiel hier unten in dem ich meine Main_Form erzeuge und ihr das Dataset übergebe. Allerdings übergebe ich der ja in dem Moment schon den konkreten Typ.
Oder ist es besser ich erzeuge die Main_Form mit in der Factory Methode und übergebe ihr das IBusinesslogic dataset und greife in der Form-Klasse dann das eigentliche FileHosterAssignmentDataset über die Methode
? |
Kannichnix zu sagen, weil mir die Factory-Geschichte obskur ist. Höchstens - die factory-Methode ist doch in der BusinessLogic? - also da drinne soll man wohl bestimmt kein Form erstellen.
Aber bei mir gäbs eh zunächst mal nur 2 Klassen: MainForm und FileHosterAssignmentDataset (und dafür würde ich nach einem kürzeren Namen suchen).
Und MainForm würde ich in void Main erzeugen und anzeigen. Wie du es nun hinkriegst, in verschiedenen Forms und UserControls dasselbe Dataset verfügbar zu machen, dafür sehe ich zwei Wege, von denen ich natürlich den etwas einfacheren bevorzuge.
Allerdings wird es hier nicht gern gesehen, wenn ich den erläutere, daher ende ich hier.