Domanda

Ho progettato un MVC che non consente la comunicazione tra le visualizzazioni (moduli). Se un modulo deve comunicare con un altro modulo, genera un evento sul controller, al quale altri moduli possono iscriversi. L'idea generale è quella di mantenere al minimo i percorsi di comunicazione, contribuendo a mantenere bassa la complessità. Ogni vista comunica con il RootController, che è un singleton, o un subController, a cui accede la vista tramite il RootController. Ancora una volta, mantiene i percorsi di comunicazione giù perché tutto passa attraverso il RootController.

Questo segue la teoria generale della rete in cui più nodi aggiungi a una rete, più diventa complessa. "E", più ciascuno di questi nodi comunica direttamente, maggiore è la complessità introdotta nella rete. Qualcuno può indicare come si chiama esattamente quest'area / teoria? Riferimenti?

Quello che sto facendo con l'MVC è analogo al fatto che tutti i nodi della rete passano attraverso un nodo centrale per comunicare tra loro?

È stato utile?

Soluzione

Penso che potresti voler cercare la teoria dei grafi (che è la base della topologia di rete).

E la tua soluzione suona come se fosse analoga ad avere tutto ciò che comunica attraverso un nodo centrale in una rete. Questo è un buon modello per semplicità (ogni nuovo nodo ha bisogno solo di una connessione per connettersi a tutto) ma non va bene per la scalabilità poiché raggiungerai un punto in cui la quantità di lavoro che sta facendo il tuo RootController è enorme. Ogni nuovo nodo ti avvicina ad avere un grosso collo di bottiglia nelle prestazioni nel tuo nodo centrale.

Altri suggerimenti

In realtà suona come il modello mediatore ... tutta la comunicazione avviene attraverso una centrale hub ...

Bene, se hai un grafico completo (dove un dato nodo è direttamente collegato ad ogni altro nodo), allora sarebbe n (n-1) / 2 bordi e O (n ^ 2) ... È quello cosa stai cercando?

Per l'hub e il raggio, stai osservando n-1 spigoli e complessità O (n).

Tuttavia, nelle molte app su cui ho lavorato, consentire alle viste di richiamare altre viste non ha mai (che posso ricordare) molti problemi ... sarebbe davvero difficile far funzionare l'intera cosa "parziale" Senza esso.

Non sono sicuro che la teoria della rete / grafico sarà davvero utile qui. Tutti i "percorsi" sono di lunghezza 1. Sembra evidente che più forme hai e più queste forme interagiscono tra loro, più complessa è la tua applicazione. Se stai cercando di modellare la tua applicazione, penso che sarebbe meglio guardare messaggio che passa , piuttosto che la teoria dei grafi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top