Sto lavorando a un progetto in cui ho due programmi che richiedono di invocare metodi su alcuni dei rispettivi oggetti.
Lo faccio inviando oggetti JSON su una connessione TCP. Questi oggetti hanno un receiverID, methodName e quindi un elenco di parametri. Ogni programma ha una HashMap da receiverIDs a istanze di oggetto reali, e quindi uso reflection per invocare il metodo con methodName fornito sull'istanza dell'oggetto corretta.
Funziona, ma forza i metodi che vengono chiamati in remoto per avere un array di stringhe come parametro. Quindi devo osservare l'ordine in cui i parametri sono impacchettati nell'array e letti attraverso l'altro lato per analizzare ogni parametro in ciò che sono i parametri effettivi del metodo.
Questo sicuramente non mi sembra un modo molto pulito per raggiungere il mio obiettivo, ma non sono sicuro di come altro farlo. Suppongo che potrei contrassegnare ogni parametro con un tipo e poi lanciarli in base al tipo, ma dovrei aggiungere il codice per ogni nuovo tipo di parametro che voglio passare.