Come dovrei strutturare un'applicazione contenente la logica aziendale e la visualizzazione? [duplicare]

0

Sto lavorando a un semplice gioco da tavolo che verrà eseguito nel browser. Sto pensando a come strutturare il programma e mi piacerebbe sentire le tue opinioni.

Il programma consisterà nella parte dell'interfaccia utente (la logica che gestisce le pressioni dei tasti, manipola l'Html, ecc.) e della parte data-and-logic (prende decisioni su come aggiornare il gioco e memorizza lo stato di il gioco).

Posso pensare a due opzioni su come strutturare questo:

A - Il modulo di business logic fa riferimento al modulo display.

Vantaggi:

  • Il display non conosce la logica di business.

  • Facile da iniettare il display nella logica di business.

Svantaggio: come può essere notificata la logica aziendale quando l'utente esegue un'azione?

B - il modulo display fa riferimento al modulo logico.

Vantaggio: il display può facilmente notificare la logica aziendale quando l'utente ha eseguito un'azione.

Svantaggio: il display conosce l'esistenza della logica di business.

Quale design è migliore e perché?

    
posta Aviv Cohn 09.01.2015 - 02:25
fonte

1 risposta

1

Advantages: The display knows nothing about the business logic.

Non puoi mostrare qualcosa di cui non sai nulla. Cercando di invertire il controllo in modo che la logica aziendale chiami una sorta di API di visualizzazione trasforma semplicemente parte della logica aziendale in logica di visualizzazione e intreccia i due. Quindi la logica aziendale si interromperà se l'API di visualizzazione o la logica di visualizzazione cambiano mai.

L'approccio B è l'approccio migliore e costituisce la base per l'architettura Model-View-Controller.

    
risposta data 09.01.2015 - 02:56
fonte

Leggi altre domande sui tag