Sto progettando un'API. E questa API verrà utilizzata dal cliente.
Attualmente ho due comportamenti in una definizione di classe. Per illustrare lo scenario, l'implementazione di esempio ha il seguente aspetto:
public class Session {
// instance field declaration goes here
void connect() {
// method definition goes here
}
void submitJob() {
// method definition goes here
}
}
Voglio aggiungere più comportamenti a questa definizione di classe in futuro per offrire più funzionalità. E, non voglio che il codice client cambi (ad esempio, il mio client continuerà a istanziare questa singola classe e invocherà i comportamenti secondo le loro necessità). Ma, non voglio modificare questa definizione di classe. C'è qualche schema di progettazione e / o principio che può essere seguito per aggiungere comportamenti per raggiungere l'obiettivo?
Nota: non intendo aggiungere comportamenti in fase di esecuzione.
Apprezza le spiegazioni e / o le guide.