Zdravim,

vytvarim aplikaci klient-server s pouzitim RMI a abych nemel desitky metod na 
vystavenem rozhrani, chtel jsem tyto metody zaobalit do objektu a volat je az 
pres ne:


public class TridaImplementation extends UnicastRemoteObject implements Trida{
    
    public TridaImplementation(int port) throws RemoteException{
        super(port);
    }

    @Override
    public Objekt1Interface getObjekt1() {
        return (Objekt1Interface ) new Objekt1Implementation();
        
    }


    @Override
    public void getObjekt2() {
        ...
        
    }

}

public class Objekt1Implementation implements Objekt1Interface {

    @Override
    public String metoda11() {
        ...
        return string;
    }
}

Bohuzel jsem zjistil, coz je i celkem logicke, ze kdyz klient takto dostane 
objekt a zavola na nem metodu (referenceNaRozhrani.getObjekt1().metoda11();), 
tak mu server posle vsechny objekty, se kterymi potrebuje pracovat ta volana 
metoda, aby si tu cinnost provedl sam klient, cimz mi defakto protuneluje celou 
aplikacni logiku. Chtel bych ale, aby mi server na klient poslal pouze 
navratovou hodnotu te metody (v mem prikladu by to byl String string) tak, jako 
by to udelal kdybych pouzil jedno-tridovou fasadu:

public class TridaImplementation extends UnicastRemoteObject implements Trida{

    

    public TridaImplementation(int port) throws RemoteException{

        super(port);

    }



    @Override

    public String metoda11() {

        ...

        return string;

    }



}

Je mozne to nejak jednoduse vyresit nebo se budu muset spokojit pouze s tou 
jednou tridou?


Lukáš Kinc


_________________________________________________________________
Pozvi své přátele z Facebooku a Hotmailu do Messengeru!
https://www.invite2messenger.net/Default.aspx

Odpovedet emailem