[WPF 4.0, C#] - Architektur.-Pattern oder Idee gesucht.
-
Hallo Communitionen!
Da uns hier bisher nichts einfiel - http://www.c-plusplus.net/forum/325313 -
habe ich versucht das Problem andersseitig zu umfliegen, aber nicht sehr erfolgreich.Durch die processorientierte Vorgehensweise von WPF ist der Sichbarkeitsbereich auf Codebehind Obkjekte stark eingeschränkt, zumal ich ich nicht von jeder Klasse problemlos Instanzen bilden kann, weil WPF daran hängt. Bei einer reinen objektorientieten Vorgehensweise wüsste ich mir zu helfen, aber das priporitäre WPF - Ich habe machmal das Gefühl, ich verstehe nach fünf Monaten wichtige Basiskonzepte noch nicht ...
Das Problem abstrahiert:
Durch die oben erwähnten RichTextBox(RTB) System.Windows.Controls.Page und den eingefügten Dokument verliere ich den Bezug zur Basisklasse - die Box ist unter System.Windows.Controls.Page und das Dokument ist unter System.Windows.Documents. Ich bkomme die Instanz des Dokuments z.B. für Text über die RichTextBox.Selection ("TextSelection") Methode.
Gleichzeitig habe ich unter dem Hauptfenster : Window im 'code behind' ein Mediator-Pattern initialisiert. Falls Leute die GoF noch nicht kennen -
http://de.wikipedia.org/wiki/Vermittler_(Entwurfsmuster)Auch nur eine simple Schnittstelle zur Datenübertragung zwischen der RTB und dem Mediator hinzubekommen, scheint mir nicht zu gelingen. Mit einer Initialisierung des Mediators in der RTB mit dem Button der auslösende Methode ist die Datenübertragung leicht. Nur archtekturtechnisch hat der Mediator dort überhaupt nichts zu suchen.
Ich habe jetzt vieles versucht - Schnittstellen, Events (Delegates). Um auch nur ein vermittelndes Objekt zu bilden stelle ich mir die Frage: Wo hänge ich diese eigenlich hin und wie bilde ich eine gemeisame Instanz zwischen Mediator und RTB?
Nur nachdem ich gestern versucht habe, über die Serialisierung zu kommen und die Daten im Mediator erneut zu laden, war wohl der Zeitpunkt gekommen mein Versagen einzugestehen und Euch fragen ...
Hat jemand dazu eine Idee?
-
Vllt. wäre jetzt mal der richtige Zeitpunkt sich mit MVVM zu beschäftigen und komplett auf den Code-Behind zu verzichten?
-
-
Also ich habe jetzt mein Scoping im Projekt erweitert und (zu meinen Unwillen) etabliere jetzt eine Business-Logic-Tier mit einer Dependency Injection auf Basis des Managed Extensibility Framework (MEF) :
http://de.wikipedia.org/wiki/Dependency_Injection
http://www.codeproject.com/Articles/188054/An-Introduction-to-Managed-Extensibility-FrameworkDie Alternative wäre noch die akstrakte Basisklasse, aber die bekomme ich aufgrund des Problems oben - http://www.c-plusplus.net/forum/325313
eben nicht sauber aufgehängt.Mal kucken was daraus wird ...
PS: Oder man verwendet einen IoC-Container mit einem MVVM.
-
Ich weiss nicht ob ich der einzige bin - aber ich verstehe dein Problem bis heute nicht. Vielleicht untermalst du es mal mit etwas Code?
-
Das ist das bekannte Thema der "in der Luft hängenden Klasse":
Wenn Du in priporitaeren Entwicklungsumgebungen oder APIs die zentrale Datenstruktur oder Basisschnittstelle nicht kennst, weil das in WPF und .net ein gigantisches Volumen 'unbekannter Funktionalität' ist, ist es extrem schwer einen Datenaustausch in konventioneller Weise herzustellen. Weil .net keine echte Mehrfachvererbung kennt, sondern nur das Anhängen von Schnittstellen.
Vor allem dann tauchen Threading-, Event- und Prozessprobleme auf.Denn ich kann die 38 Formate, die MS für die RichTextBox unter WPF über Jahre entwickelt hat nicht nach-coden. Das würde mich budget-maessig umbringen. Für Forms hatte ich es damals hinbekommen, aber habe auch lange gefummelt...
-
Prof84 schrieb:
Das ist das bekannte Thema der "in der Luft hängenden Klasse":
Wenn Du in priporitaeren Entwicklungsumgebungen oder APIs die zentrale Datenstruktur oder Basisschnittstelle nicht kennst, weil das in WPF und .net ein gigantisches Volumen 'unbekannter Funktionalität' ist, ist es extrem schwer einen Datenaustausch in konventioneller Weise herzustellen. Weil .net keine echte Mehrfachvererbung kennt, sondern nur das Anhängen von Schnittstellen.
Vor allem dann tauchen Threading-, Event- und Prozessprobleme auf.Denn ich kann die 38 Formate, die MS für die RichTextBox unter WPF über Jahre entwickelt hat nicht nach-coden. Das würde mich budget-maessig umbringen. Für Forms hatte ich es damals hinbekommen, aber habe auch lange gefummelt...
Aeeehhh ja genau....
Aendert sich immernoch nichts dran das ich nicht verstehe was du meinst. Zeig doch mal Code und was du machen willst. Was momentan nicht geht und was du haben willst.
-
Firefighter schrieb:
Ich weiss nicht ob ich der einzige bin - aber ich verstehe dein Problem bis heute nicht. Vielleicht untermalst du es mal mit etwas Code?
Geht mir gleich. Ich scheitere schon nur an seinem zweiten Wort im Eröffnungsbeitrag... Und es ging mir nicht anders in den anderen Threads.
-
Dass Prof84 so schreibt dass ihn keiner versteht is ja jetzt nix neues
Wobei ich mir immer noch nicht sicher bin ob er das nicht absichtlich macht.
Kann ja nicht sein dass man so die Peilung verloren hat, dass man nicht merkt dass man sich total unverständlich ausdrückt.
-
Code Beispiele z.B. hier:
http://joelabrahamsson.com/inversion-of-control-an-introduction-with-examples-in-net/
oder
http://www.edvsz.hs-osnabrueck.de/fileadmin/user/huelsmann/05_MEF_Anleitung.pdfRest - mein Post 02 Mai 2009 19:59 :
http://www.c-plusplus.net/forum/239999-full
für weitere Seelsorge wendet Euch an volkard ...
-
Prof84 schrieb:
Code Beispiele z.B. hier:
http://joelabrahamsson.com/inversion-of-control-an-introduction-with-examples-in-net/
oder
http://www.edvsz.hs-osnabrueck.de/fileadmin/user/huelsmann/05_MEF_Anleitung.pdfRest - mein Post 02 Mai 2009 19:59 :
http://www.c-plusplus.net/forum/239999-full
für weitere Seelsorge wendet Euch an volkard ...Esmeralda, ick weiss nich ob du unfaehig bist oder einfach nur komplett durch, aber wir wollen deinen verdammten Code sehen und du sollst uns daran erklaeren was dein verdammtes Problem ist. Kunden schickts Arbeitsamt ey...
-
Prof84 schrieb:
für weitere Seelsorge wendet Euch an volkard ...
Wir möchten keine Seelsorge. Wir würden dir gerne helfen bei deinen Problemen mit C# und WPF. Aber dazu musst du uns zuerst helfen, damit wir dich verstehen. Eine Hilfestellung baut auf einer Zusammenarbeit auf. Wenn du nicht lernst oder nicht gewillt bist dich verständlicher auszudrücken, musst du einfach damit rechnen, dass man dir nicht helfen wird können.
hustbaer schrieb:
Dass Prof84 so schreibt dass ihn keiner versteht is ja jetzt nix neues
Ich hatte gehofft, dass das nur an den Themen in NadrW liegt. Mich beschleicht hiermit aber langsam das Gefühl, dass es ein allgemeines Problem ist.