Qual è la migliore pratica per sviluppare un componente visivo in Flex Hero?

4

Qual è la migliore pratica per sviluppare un componente visivo in Flex Hero?

Lo faccio in questo modo: Considero che un componente ha 2 "parti", la parte dichiarativa (le sotto-componenti visive) che definisco nella skin (solo mxml) e la parte di codice (gestori di eventi ...) che definisco in una classe di script di azione. Carico la skin nel ctor della classe di script di azione. Definisco anche parti della pelle, stati e leghiamo i gestori di eventi nella funzione partAggiunta.

Ho una discussione a riguardo; che dovrei definire il componente puramente in un .mxml, con gli ascoltatori nel tag dello script, e magari attaccare una skin (ma la skin dovrebbe essere allentata - forse per riutilizzarla: -?)

Vengo da .NET e forse sono distorto con il codice dietro il pattern, e mi chiedo dalla tua esperienza e intento di Adobe, qual è la migliore pratica per implementare di solito un componente visivo?

    
posta gavri 04.05.2011 - 10:22
fonte

1 risposta

1

Ci sono 3 modi per implementare i componenti.

1 puro ActionScript

Estendi UIComponent.

2 MXML

MXML è solo un'astrazione di ActionScript. Durante la compilazione di un'applicazione Flex, il codice sorgente tradurrà MXML in ActionScript. Quindi, non c'è praticamente nulla di sbagliato nell'avere ActionScript nel tag fx: Script. Ci sono alcune persone che dicono che una vista non dovrebbe contenere alcuna logica (se implementata in MXML) ma che è semplicemente stupida, dal momento che è necessario disporre di ActionScript per definire il comportamento.

3 SkinnableComponent (separazione del comportamento e aspetto visivo)

Estendi SkinnableComponent e definisci una classe skin. Ciò è estremamente utile, quando si tratta di temi per clienti diversi o si caricano diverse visualizzazioni visive a seconda del ruolo dell'utente.

Il codice dietro l'aprouch può essere ottenuto facilmente in ActionScript, sia come aggregazione o ereditarietà. Anche un MVVM può essere implementato facilmente. Ma generalmente, quello non è il modello che usi. Di solito in Flex, usi MVC / MVCS.

Potresti dare un'occhiata: Flash builder 4.6 - code behind approach

    
risposta data 06.06.2012 - 17:30
fonte

Leggi altre domande sui tag