Hallo zusammen,
ich habe ein paar Verständnisprobleme bezüglich der modularen Programmierung mit Eclipse RCP, vielleicht könnt Ihr mir helfen, diese zu beseitigen.
Mein Ziel ist es, mit Eclipse RCP ein Programm zu erstellen, mit dem man Projekte öffnen, bearbeiten und speichern kann. Das Programm besteht aus mehreren Modulen, die alle auf die Projektdatei zugreifen können sollen. Im Modul "core" wird das eigentliche Projekt gemanagt, also die Datei zum Bearbeiten geöffnet, gespeichert etc.
Angenommen das Programm ist gestartet, ohne dass ein Projekt geöffnet wurde. Irgendwann öffnet ein Benutzer ein Projekt, das sollten alle Module mitbekommen - also registrieren sie sich beim Modul "core", das für das Projektmanagement zuständig ist als Listener und bekommen dann den Öffnungsvorgang mit - ist das so richtig?
Was ist nun, wenn beim Programmstart das zuletzt geöffnete Projekt automatisch geladen werden soll? Würde es dann Sinn machen, wenn alle Module initialisiert wurden und sich als Listener registriert haben, den gleichen Vorgang durchzuführen, wie wenn ein Benutzer ein Projekt öffnet, nur eben automatisch und programmgesteuert? Oder ist es besser, wenn alle Module beim Initialisieren schauen ob das Projekt schon offen ist und dann gleich die benötigten Daten laden?
Wie wäre es im ersteren Fall - wie bekomme ich mit dass alle Module geladen und bereit sind (also sich als Listener registriert haben)?
Und laut OSGI-Konzept ist jedes Modul zu jeder Zeit beendbar... wenn nun das Modul "core" beendet wird, hängen quasi alle Module, die aufs Projekt zugreifen wollen, "in der Luft" - wie managt man sowas?
Vielen Dank für Eure Bemühungen!
ich habe ein paar Verständnisprobleme bezüglich der modularen Programmierung mit Eclipse RCP, vielleicht könnt Ihr mir helfen, diese zu beseitigen.
Mein Ziel ist es, mit Eclipse RCP ein Programm zu erstellen, mit dem man Projekte öffnen, bearbeiten und speichern kann. Das Programm besteht aus mehreren Modulen, die alle auf die Projektdatei zugreifen können sollen. Im Modul "core" wird das eigentliche Projekt gemanagt, also die Datei zum Bearbeiten geöffnet, gespeichert etc.
Angenommen das Programm ist gestartet, ohne dass ein Projekt geöffnet wurde. Irgendwann öffnet ein Benutzer ein Projekt, das sollten alle Module mitbekommen - also registrieren sie sich beim Modul "core", das für das Projektmanagement zuständig ist als Listener und bekommen dann den Öffnungsvorgang mit - ist das so richtig?
Was ist nun, wenn beim Programmstart das zuletzt geöffnete Projekt automatisch geladen werden soll? Würde es dann Sinn machen, wenn alle Module initialisiert wurden und sich als Listener registriert haben, den gleichen Vorgang durchzuführen, wie wenn ein Benutzer ein Projekt öffnet, nur eben automatisch und programmgesteuert? Oder ist es besser, wenn alle Module beim Initialisieren schauen ob das Projekt schon offen ist und dann gleich die benötigten Daten laden?
Wie wäre es im ersteren Fall - wie bekomme ich mit dass alle Module geladen und bereit sind (also sich als Listener registriert haben)?
Und laut OSGI-Konzept ist jedes Modul zu jeder Zeit beendbar... wenn nun das Modul "core" beendet wird, hängen quasi alle Module, die aufs Projekt zugreifen wollen, "in der Luft" - wie managt man sowas?
Vielen Dank für Eure Bemühungen!