Ho un'applicazione intranet client x server che fondamentalmente riceve i dati dal server, li formatta e li invia al client per la visualizzazione. Al server stiamo usando ASP.NET C # in esecuzione su IIS e sul client abbiamo i widget Javascript. Le richieste del client x server vengono eseguite tramite chiamate Ajax.
Ho molti (100+) oggetti server, che possono essere visualizzati in 10 diversi formati nel browser attraverso diversi widget grafici.
Quindi, fondamentalmente abbiamo la seguente struttura:
Quindi, per ogni oggetto server di cui ho bisogno, agli oggetti nnnWidgetDataGetter, effettuare una trasformazione dei dati nel formato dei dati del widget da inviare al client. Ogni widget può richiedere dati da tutti gli oggetti del server.
Usando un approccio normale, dovrei scrivere tonnellate di metodi, uno per ogni server di classe di base per ogni classe di datagetter.
Per evitare di scrivere centinaia di metodi con comportamenti simili, abbiamo deciso di utilizzare un approccio dinamico nelle classi DataGetter (classi statiche), in cui l'oggetto business viene valutato in fase di runtime, i dati vengono raccolti da questo oggetto, formattati e inviati al cliente.
Il problema è che usando la creazione e invocazione di oggetti dinamici perdiamo Intellisense, quindi il codice sta diventando molto grande e difficile da comprendere e mantenere.
Dopo un po 'abbiamo scoperto che non stiamo usando l'approccio corretto e abbiamo iniziato a pensare a sw patters che ci aiutassero a risolverlo.
Quindi stiamo cercando il modello corretto per risolvere questo problema che manterrebbe una struttura tipizzata in cui Intellisense potrebbe funzionare e che ci evita di scrivere centinaia di metodi diversi.
Apprezziamo molto ogni tipo di aiuto.