2009-12-24 3 views
5

MVP patter utilizza delegati per interconnettere un sacco di oggetti di classe con ciascuno sopra. Per Qt sono segnali e slot, per C# sono eventi, per Java sono chiusure. Ma tutti i progettisti di diagrammi e UML che conosco operano solo con l'ereditarietà e la composizione genitore-figlio :(È un software disponibile che consente di disegnare le classi visivamente, progettare delegati, connettere i delegati agli endpoint e generare codice basato su tale "modello"?Esiste un software di creazione di schemi per il pattern MVC con generazione del codice?

La descrizione di cui sopra potrebbe non essere accurato:.. io non sono molto in profondità nella terminologia Se qualcuno vuole chiarimenti su questa questione, si prega di commento, i wll chiarire ciò che è chiaro

+3

Dimenticate la generazione di codice da diagrammi. –

+0

Cosa ti aspetti da un tale strumento CASE? I diagrammi delle classi UML descrivono la struttura statica del codice, quindi la generazione del codice può avere un senso (in una certa misura). La segnalazione/ascolto/sottoscrizione di eventi è una cosa altamente dinamica, che si verifica da qualche parte sul livello dell'oggetto o della funzione interna (e non della classe) e potrebbe coinvolgere la logica aziendale e/o della GUI. Forse funzionerebbe nel contesto di un diagramma di attività, ma sospetto che quei diagrammi si trovino sullo stesso livello di astrazione del codice, senza alcun vantaggio sul codice. –

+0

Fondamentalmente mi aspetto un visual designer che supporti cose come "segnali in uscita" e "gestore di segnali" e possa progettare visivamente tale relazione di oggetti. Il supporto di generazione di codice di base mi consentirà, in teoria, di definire le regole su come trasformare un diagramma in codice. – grigoryvp

risposta

1

L'unico modo per applicare correttamente MDA è il contrario. Definisci il modello in una DSL fluente e genera i diagrammi di cui hai bisogno.

Ho usato TogetherJ e Enterprise Architect, ma non sono impressionato. Diagrammi carini, flusso di lavoro scadente. Preferisco di gran lunga un ambiente Smalltalk (preferibilmente con MOOSE) e alcuni generatori di diagrammi.

2

AndroMDA ha il supporto per generare una interfaccia utente Web da un modello UML che definisce il flusso di un'applicazione.Vedere lo Search Criteria Panel dalla documentazione Getting Started Java. Se si utilizza la cartuccia AndroMDA BPM4Struts, il livello di presentazione sarà basato su MVC. è quello che stai cercando però.

PS: La storia della MDA non è pieno di esperienze di successo - e questo è un eufemismo - e io non consiglierei questo approccio (ancor meno per il livello di presentazione)

5

Ho avuto buone esperienze con Sparx System's Enterprise Architect. È possibile scaricare una versione di prova valida per 30 giorni.

+0

+1 Davvero un ottimo strumento –

+0

per la generazione del codice? –

+0

+1, mi piace usare Enterprise Architect, ma generalmente non utilizzo le sue funzionalità di generazione codice incorporate; Preferisco accedere al suo modello da uno script C# così costruisco il mio generatore di codice; questo dà flessibilità per creare tutto ciò che voglio –

2

Se siete alla ricerca di qualcosa di libero/open-source, c'è sempre:

StarUML

+0

L'ho controllato, ma non riesco a trovare alcun modo per modellare il tipo di relazione signa-a-slot. – grigoryvp