quarta-feira, 18 de agosto de 2010

Conceitos Básicos de C# - Aula 01

INTRODUÇÃO

Entende-se por uma plataforma de desenvolvimento, um conjunto de instruções ordenadas que tem por objetivo resolver um problema do mundo real, abstraindo-o em um conjunto de comandos lógicos.


.NET é a nova plataforma de desenvolvimento da Microsoft que tem como foco principal o desenvolvimento de Serviços WEB XML. Um serviço Web XML, ou simplesmente Web Service transcende ao que nós conhecemos como páginas dinâmicas, as quais podem ser acessadas a partir de um browser. A idéa central de um Web Service consiste em permitir que as aplicações, sejam elas da Web ou Desktop, se comuniquem e troquem dados de forma simples e transparente, independente do sistema operacional ou da linguagem de programação.

Abordagem .NET

• Independência de linguagem de programação: o que permite a implementação do mecanismo de herança, controle de exceções e depuração entre linguagens de programação diferentes;

• Reutilização de código legado: o que implica em reaproveitamento de código escrito usando outras tecnologias como COM, COM+, ATL, DLLs e outras bibliotecas existentes;

• Tempo de execução compartilhado: o ”runtime” de .NET é compartilhado entre as diversas linguagens que a suportam, o que quer dizer que não existe um runtime diferente para cada linguagem que implementa .NET;

• Sistemas auto-explicativos e controle de versões: cada peça de código .NET contém em si mesma a informação necessária e suficiente de forma que o runtime não precise procurar no registro do Windows mais informações sobre o programa que está sendo executado. O runtime encontra essas informações no próprio sistema em questão e sabe qual a versõo a ser executada, sem acusar aqueles velhos conflitos de incompatibilidade ao registrar DLLs no Windows;

• Simplicidade na resolução de problemas complexos.

Arquitetura .NET
  • CLR (Commom Language Runtime) O CLR, ou tempo de execução compartilhado, é o ambiente de execução das aplicações .NET. As aplicações .NET não são aplica¸ções Win32 propriamente ditas (apesar de executarem no ambiente Windows), razão pela qual o runtime Win32 não sabe como executá-las. O Win32, ao identificar uma aplicação .NET, dispara o runtime .NET que, a partir desse momento, assume o controle da aplicação no sentido mais amplo da palavra, porque, dentre outras coisas, é ele quem vai cuidar do gerenciamento da memória via um mecanismo de gerenciamento de memória chamado Garbage Collector (GC) ou coletor de lixo. Esse gerenciamento da memória torna os programas menos susceptíveis a erros. Mais ainda, o CLR como seu próprio nome o diz, é compartilhado e, portanto, não temos um runtime para VB.NET, outro para C# etc. É o mesmo para todo mundo.
  • CLS (Common Language Specification) O CLS, ou Especificação Comumda Linguagem, é um subconjunto do CTS, e define um conjunto de regras que qualquer linguagem que implemente a .NET 8 deve seguir a fim de que o código gerado resultante da compilação de qualquer peça de software escrita na referida linguagem seja perfeitamente entendido pelo runtime .NET.
  • BCL (Base Classe Library) Oferece ao desenvolvedor uma biblioteca consistente de componentes de software reutilizáveis que não apenas facilitem, mas também que acelerem o desenvolvimento de sistemas.

• Simplicidade: os projetistas de C# costumam dizer que essa linguagem é tão poderosa quanto o C++ e tão simples quanto o Visual Basic.

• Completamente orientada a objetos: em C#, qualquer variável tem de fazer parte de uma classe.

• Fortemente tipada: isso ajudará a evitar erros por manipulação imprópria de tipos, atribuições incorretas etc.

• Gera código gerenciado: assim como o ambiente .NET é gerenciado, assim também é a linguagem C#.

• Tudo é um objeto: System.Object é a classe base de todo o sistema de tipos de C#.

• Controle de versões: cada assembly gerado, seja como EXE ou DLL, tem informação sobre a versão do código, permitindo a coexistência de dois assemblies homônimos, mas de versões diferentes no mesmo ambiente.

• Suporte a código legado: o C# pode interagir com código legado de objetos COM e DLLs escritas em uma linguagem não-gerenciada.

• Flexibilidade: se o desenvolvedor precisar usar ponteiros, o C# permite, mas ao custo de desenvolver código não-gerenciado, chamado ”unsafe”.

• Linguagem gerenciada: os programas desenvolvidos em C# executam num ambiente gerenciado, o que significa que todo o gerenciamento de memória é feito pelo runtime via o GC (Garbage Collector), e não diretamente pelo programador, reduzindo as chances de cometer erros comuns a linguagens de programação onde o gerenciamento da memória é feito diretamente pelo programador.

Clique aqui e veja livros os melhores livros sobre o Visual Studio.

Nenhum comentário:

Contribua com este blog, doe qualquer quantia.