RCP Trennung Frontend mit Backend?

lam_tr

Top Contributor
Guten morgen,

da ich schon eine Weile mit Frontend-Entwicklung beschäftigt habe, interessierts mich sehr wie ich die Oberfläche mit Backend trennen kann. Bisher habe ich das eigentliche Programm direkt in den Listener eingebunden, aber ich denke es ist nicht sinnvoll.

Generell Backend als ein Plugin-Bundle und Frontend als separates Bundle oder?

Und wie kann ich die Verbindung machen?
Über eine Schnittstelle "Interface", wenn ja wie funktioniert das genau?

Oder mache ich das Backend über einen Objekt?

Gruss lam
 

lam_tr

Top Contributor
Zum Beispiel ein Matheprogramm "Taschenrechner".

Backend ist bsp-weise die Klasse Berechnung mit den Methoden "BerechneIntegral", "BerechneIrgendwelcheKräfte", etc.

Ich will die Trennung machen, um später das Ersetzen der Oberfläche, einfach handzuheben sein soll.
 

code404

Aktives Mitglied
Backend ist vielleicht der falsche Begriff.
Ein Backend hat meist auch was mit verteilten Systemen zu tun (Server mit Geschäftslogik -> Rich Client)
Ich denk was du meinst ist Model-View-Controler. (MVC)
 
G

Gast2

Gast
Also Backend hat mehr was mit Multi Tier Anwendungen zu tun.
Schichtenarchitektur ? Wikipedia

Du willst einfach nur deine Geschäftslogik von der GUI Trennen.
Dann schau dir das MVC an, gibt GENÜGEND Threads hier im Forum jede Menge sogar mit Beispielen.
 
G

Gast2

Gast
hier mal ein Bsp. wie ich es machen würde.

Alle anonymen Listener sind Controller.
 

Anhänge

  • mvc_swt.zip
    6,7 KB · Aufrufe: 12
Zuletzt bearbeitet von einem Moderator:

lam_tr

Top Contributor
danke sehr wayne, ich werd das Beispiel genauer in betracht nehmen!

p.s. ich hab mal in den Code reingeschaut.

Im Costumermodel, wofür hast du die drei Methoden erstellt?
Reicht es nicht aus die Klasse als Parameter in den PropertyChangeListener zu übergeben?

Java:
   /**
     * Adds a property-change listener.
     * @param l the listener
     */
    public void addPropertyChangeListener(PropertyChangeListener l){
        this.listeners.addPropertyChangeListener(l);
    }
    
    
    public void removePropertyChangeListener(PropertyChangeListener l){
        this.listeners.removePropertyChangeListener(l);
    }
    
    /**
     * Notificates all listeners to a model-change
     * @param prop the property-id
     * @param old the old-value
     * @param newValue the new value
     */
    protected void firePropertyChange(String prop, Object old, Object newValue){
        if (this.listeners.hasListeners(prop)) {
            this.listeners.firePropertyChange(prop, old, newValue);
        }
    }

Gruss
 
Zuletzt bearbeitet:
G

Gast2

Gast
Versteh deine Frage nicht sorry...
Die eine Methode nimmt ins Model ChangeListener auf die anderen entfernt diese...
und die 3 benachrichtigt alle registrierten beobachter...
du solltest dir davor mal das ObserverPattern und das MVC Arichtktur Muster im wiki durchlesen und verstehen.
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...

Neue Themen


Oben