Domanda

Potrebbe sembrare una domanda ridicola dato che sono abbastanza inesperto in .NET.

È possibile creare componenti in C #, usando .NET, che può essere riutilizzato in ASP.NET. Ad esempio, se si desidera trasferire un'applicazione sul Web.

Se possibile, quanto sono portatili? Cioè la GUI può essere riutilizzata in una certa misura? Esiste un formato intermedio da utilizzare come base o è necessario utilizzare i componenti C # come binari?

Grazie.

Modifica

Grazie per il tuo contributo! Conosco abbastanza bene gli aspetti di progettazione di questo problema, ovvero come modellare i componenti per il riutilizzo. Tuttavia mi hai fatto capire che la domanda riguarda davvero: in che misura .NET è riutilizzabile tra ASP e Windows? Si può dire che alcuni pacchetti di componenti .NET sono indipendenti dall'ambiente e alcuni sono specifici della piattaforma?

È stato utile?

Soluzione

Assolutamente: una classe .NET può essere utilizzata in qualsiasi tipo di applicazione .NET. Tuttavia, dipende da quale parte dell'applicazione stai parlando.

In genere, le interfacce utente di Windows Form NON sono riutilizzabili come interfacce utente ASP.NET, perché i vincoli di progettazione sono così diversi (ad esempio i browser Web supportano solo un numero limitato di controlli, spesso utilizzano layout di flusso (non griglia), ecc. Analogamente , gli eventi sono diversi (un pulsante modulo Web non è uguale a un pulsante modulo Windows, ecc.).

Ciò che puoi riutilizzare facilmente, tuttavia, se fai le cose correttamente, è la logica aziendale. Progetta le tue lezioni in modo che non sappiano internamente nulla sul fatto che si tratti di un modulo Windows o un modulo Web (o un'applicazione console, un servizio Web, ecc.). Cioè, le classi dovrebbero essere pure implementazioni della tua logica aziendale. Quindi puoi usare quelle classi in qualsiasi contesto tu voglia.

Altri suggerimenti

La risposta breve alla tua domanda è sì: basta separare il codice che si desidera condividere tra le due viste in una classe indipendente dall'interfaccia, preferibilmente in un assembly separato, e includere tale assembly.

La risposta lunga è più complicata: la possibilità di farlo varia tra applicazione e applicazione. Sarai in grado di separare meno codice per le applicazioni ad alta intensità di UI che non fanno molto dietro le quinte (come, diciamo, una sorta di gioco grafico), di quanto lo farai per un'applicazione di interfaccia utente molto semplice che fa molto dietro le scene (diciamo, un'interfaccia utente che consiste in un singolo pulsante che avvia un complesso processo di manipolazione dei dati).

Alla fine, .NET ti offre la possibilità di farlo. La tua effettiva capacità di farlo dipenderà molto dalle tue capacità di progettazione e dai tuoi requisiti particolari. Ci sono molti scritti disponibili su questo argomento - suggerisco di iniziare dando un'occhiata a Design Patterns (sebbene il libro originale scriva esempi in C ++, credo che qualcuno abbia fatto un libro con esempi in C #. Non posso, tuttavia, parlare con la qualità.)

Non l'ho mai fatto prima, ma immagino che tu possa inserire il codice comune in una classe separata. L'interfaccia utente dovrà essere duplicata poiché Windows Form e asp.net hanno approcci di programmazione completamente diversi.

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