Una volta abbiamo fatto qualcosa di simile, in cui avevamo un'interfaccia utente piuttosto grande che aveva un mucchio, un mucchio e un mucchio di funzionalità diverse. La nostra soluzione era questa:
Abbiamo estratto tutte le azioni in comandi. Sono stati tutti implementati in modo che possano essere messi in cascata, annullati, ripristinati ecc. Vedere ad esempio IUndoableOperation
I comandi presentavano condizioni che rendevano facile decidere se si potevano combinare questi comandi.
Tutti i comandi hanno un ID e possono essere facilmente identificati
Abbiamo poi continuato ad integrare le nostre configurazioni di esecuzione. Abbiamo aggiunto un'interfaccia utente che offriva all'utente la possibilità di collegare più comandi in uno solo. Ad esempio, un utente desiderava creare un nuovo file, applicare un modello, generare alcuni grafici, esportarli in una posizione specifica, ecc., L'utente crea una configurazione di esecuzione aggiungendo tali comandi insieme.
In questo modo abbiamo mantenuto l'interfaccia utente completa, ma abbiamo dato all'utente esperto la possibilità di creare il proprio flusso di lavoro basato su ciò che fanno ogni giorno.
Ai nostri utenti è piaciuto un bel po '.
È anche possibile aggiungere un foglio di trucchi http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm?cp=0_4_4_3_1 –