Pergunta

Isto pode parecer uma pergunta ridícula, já que estou bastante inexperiente em .NET.

É possível componentes de construção em C #, usando .NET, que podem ser reutilizados em ASP.NET. Por exemplo, se um gostaria de portar um aplicativo para a web.

Se possível, como portáteis são eles? Ou seja, pode GUI ser reutilizados em algum ponto? Existe um formato intermediário para usar como base ou é necessário para usar componentes C # como binários?

Graças.

Editar:

Obrigado pelo seu contributo! Estou bastante familiarizado com os aspectos de design deste problema, isto é, como modelar componentes para reutilização. No entanto, você me fez perceber que a questão é realmente sobre - Até que ponto é .NET reutilizável entre ASP e Windows? pode-se dizer que certos pacotes de componentes .NET são independentes do ambiente e alguns são plataforma específica?

Foi útil?

Solução

Absolutamente - uma classe .NET pode ser usado em qualquer tipo de aplicação .NET. No entanto, isso meio que depende do que parte do aplicativo que você está falando.

Geralmente, Windows Forms interfaces de usuário não são reutilizáveis, como interfaces de usuário do ASP.NET, porque as restrições de projeto são tão diferentes (ou seja navegadores suportam apenas um pequeno número de controles, muitas vezes o fluxo de uso (não grade) layout, etc Da mesma forma , os eventos são diferentes (um botão de formulário web não é o mesmo como um Windows botão de formulário, etc.).

O que você pode reutilizar facilmente, porém, se você fizer as coisas corretamente, é a lógica de negócios. Design suas classes para que eles não sabem internamente nada sobre se é um windows formulário ou um formulário web (ou um aplicativo de console, ou serviço web, etc.). Isto é, as classes devem ser implementações puras de sua lógica de negócio. Então você pode usar essas classes em qualquer contexto que você deseja.

Outras dicas

A curta resposta à sua pergunta é sim - simplesmente separar o código que você deseja compartilhar entre os dois pontos de vista em uma classe de interface independente, de preferência em um assembly separado, e que incluem a montagem

.

A resposta longa é mais complicado - a capacidade de fazer isso vai variar entre a aplicação ea aplicação. Você vai ser capaz de separar menos código para UI aplicações intensivas que não fazem muito nos bastidores (como, digamos, uma espécie de jogo de gráficos), do que você vai para uma aplicação UI muito simples que faz um monte atrás as cenas (digamos, uma interface que consiste em um único botão que, em seguida, arranca um processo de manipulação de dados complexos).

No final - NET fornece a capacidade para que você possa fazer isso. Sua capacidade real de fazer isso vai ser muito dependente de suas próprias habilidades de design e suas necessidades específicas. Há um monte de escrever disponíveis sobre este assunto -. Eu sugiro começar por dar uma olhada em Design Patterns (embora o livro original escreve exemplos em C ++, acredito que alguém fez um livro com exemplos em C # Não posso, no entanto, falar com a qualidade do mesmo.)

Eu nunca fiz isso antes, mas eu acho que você pode colocar o código comum em uma classe separada. UI terá de ser duplicado como Windows Forms e asp.net têm completamente programação diferença se aproxima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top