UI nel codice dietro rispetto all'interfaccia utente in linguaggio / markup di visualizzazione specifici

1

Ho sentito alcuni sviluppatori dire che preferiscono costruire le loro interfacce utente in codice ... Sono dell'opinione che questo li porta a scrivere codice veramente scadente ... Super grandi funzioni, codice spaghetti e responsabilità miste di funzioni invece di funzioni pure. Penso che sia meglio costruire le tue interfacce utente nel linguaggio di visualizzazione specifico della tua piattaforma o markup (HTML, XAML, qml ecc.). Separa la vera business logic dall'interfaccia della piattaforma, dandoti la possibilità di aggiornare l'interfaccia della piattaforma indipendentemente dalla tua logica di business. Come far cadere Objective-C per Swift ... Per ora basta avvolgere la logica di business e costruire la nuova interfaccia utente in Swift, quindi rivisitare la logica di business potrebbe essere una strategia di aggiornamento.

Quali sono i pro e i contro per l'interfaccia utente realizzati nel codice dietro l'interfaccia utente realizzati in linguaggio di visualizzazione / markup specifici? I tuoi pensieri?

Nota: non si tratta in realtà se utilizzano un approccio MVC ... Si tratta esclusivamente della combinazione di codice dietro e stili utente.

    
posta visc 21.07.2018 - 15:18
fonte

1 risposta

1

Suppongo che tu voglia dire scrivere cose come

this.Window.Controls.Add(new TextBox());

vs

<Window>
    <TextBox/>
</Window>

Non penso che porti necessariamente a un codice errato. Puoi ancora separare le tue preoccupazioni in vista, modello di vista, controller, modello di business, ecc. E usare le buone pratiche.

Ovviamente è bello se riesci a raggiungere la tua interfaccia utente utilizzando il framework View Markup e dovresti sforzarti di farlo dove possibile. ma a volte non supporta tutto ciò che vuoi fare costringendoti a fare scelte alternative.

Espandi il framework con alcuni controlli personalizzati che ti permettono di specificare il comportamento all'interno del framework OPPURE ignorare il framework e istanziare / armeggiare con i controlli manualmente.

    
risposta data 21.07.2018 - 15:39
fonte

Leggi altre domande sui tag