Windows Vista - Curso Completo - 1476 páginas Windows Server 2003 - Curso Completo SQL Server 2005 - Curso Completo 1500 Tutoriais de Informática Windows Vista - Curso Completo - 1476 páginas Curso Completo de Access Certificações Microsoft
 
Comprar Cursos e Vídeo-Aulas Cursos Online com Certificado Comprar Livros Foruns de Discussao

Você está aqui: Principal » Lista Completa de Tutoriais

Sobre este Tutorial

Autor: Almir Farias Rivas Junior
Data: 22-02-2006
Categoria: Programação
Assunto: VB.NET - BÁSICO
Visitas: 29218
E-mail: rivasalmir@gmail.com
Site: http://www.hmsolucoes.com.br/almir
Avaliação: (47 votos)
1 2 3 4 5
Comentários: Ler / Escrever

.NET Framework e CLR – Visão Geral

 

Objetivos:

 

Visão geral do .NET Framework e do CLR.

 

Pré-requisitos:

 

Noções de programação.

 

Nota: Este tutorial faz parte do Curso: VB. NET – Desenvolvimento básico.

 

O .NET Framework e a CLR (Common Language Runtime)

 

O Microsoft .NET Framework é um ambiente integrado e gerenciado para desenvolvimento e execução de seu código.

 

Visão geral do .NET Framework

 

O .Net Framework é um ambiente  fortemente tipado para desenvolvimento e execução de aplicações. O .NET Framework gerencia todos os aspectos  de execução de um programa . Ele aloca memória para armazenar dados e instruções, gerencia permissões para execução dos programas. O .NET Framework consistem em dois componentes mestres.

 

A Common Language Runtime e a .NET Framework Class Library.

 

O CLR (Common Language Runtime) pode ser ainda o ambiente que gerencia a execução do código. Ele fornece os serviços core como compilação de código, alocação de memória, gerenciamento de thread e coleta de lixo. O CTS (Common Type System) força a tipagem de variáveis e garante que o código é executado em um ambiente seguro e também com segurança ao acesso ao código.

 

A biblioteca de classes do .NET Framework fornece uma coleção de tipos úteis e reutilizáveis que foram desenvolvidos para interagir com a Common Language Runtime.

 

Estes tipos fornecidos pelo .NET Framework são orientadas à objetos e altamente extensíveis e permitem ser integradas a sua aplicação com o .NET Framework.

 

Linguagens e .NET Framework

 

O .NET Framework foi desenvolvido para ser compatível com diversas linguagens, isto significa, que os componentes .NET podem interagir com outros componentes escritos em qualquer  um das linguagens  suportadas por ele. Então uma aplicação escrita em Microsoft Visual Basic .NET pode referenciar uma DLL escrita em Microsoft Visual C# que por sua vez pode acessar recursos escrito em Microsoft Visual C++ ou em qualquer outra linguagem .NET.

 

Esta interoperabilidade e extensível a toda orientação a objetos. O Visual Basic .Net pode derivar classes de uma classe C#, por exemplo.

 

Este nível de compatibilidade entre linguagens só é possível devido a CLR.

 

Quando uma aplicação .NET é compilada ela é convertida de sua linguagem escrita (Visual Basic .NET, C# ou outra compatível) para a Microsoft Intermediate Language (MSIL). MSIL é uma linguagem de baixo-nível que a CLR (Common Language Runtime) pode ler e entender. Porque todos os executáveis e DLLs existem como MSIL podem ser interoperalizados livremente. A Common Language Specification (CLS) define os padrões mínimos que os compiladores das linguagens precisam estar em conformidade. Com isso a CLS assegura que qualquer código fonte compilado nos padrões CLS pode ser interoperado pelo .NET Framework.

 

A CTS (Common Type Specification) garante compatibilidade entre os componentes .NET. Todas as aplicações .NET são convertidas para IL antes de serem executadas . Todos os tipos primitivos de uma linguagem compatível com o .NET são tipos primitivos do .NET. Então um integer do Visual Basic .NET e um int do C# são representados da mesma forma em IL, como System.Int32.  Porque ambas as linguagens usam o CTS é possível transferir dados entre os componentes evitando assim erros de conversão de tipo.

 

O Visual Studio . NET trabalha com linguagens como o Visual Basic .NET , Visual C# e Visual C++ assim como o JScript. Você também pode escrever o código gerenciado para o .NET Framework em outras linguagens. Outros compiladores e ferramentas existentes para Fortran, Cobol, Perl entre outras linguagens.

 

A estrutura de uma aplicação .NET

 

Para entender como o CLR gerencia a execução do código, você precisa examinar a estrutura de uma aplicação .NET. A unidade primária de uma aplicação .NET é o assembly. Assembly  é uma coleção de código auto-descritivo, recursos e metadados.

 

O manifesto do assembly contém informações sobre o que esta contido no assembly. O manifesto do assembly fornece:

 

» Informações da identidade do assembly. Como nome e número de versão.

» A lista de todos os tipos utilizados pelo assembly.

» A lista de outros assemblies necessários ara a execução do assembly.

» A lista de instruções relacionadas à segurança, incluindo as permissões necessárias pelo assembly e restrições do assembly.

 

Cada assembly tem um e somente um manifesto e ele contém todas as informações do assembly. Entretanto o manifesto do assembly pode estar contido no mesmo arquivo do ou em um módulo do assembly.

 

Um assembly pode conter um ou mais módulos. Um módulo contém um código que define sua aplicação ou biblioteca e contém também metadados que descrevem este código. Quando você compila um projeto o seu código é convertido de um código de alto nível para a IL. Porque todos os códigos são convertidos em código IL. As aplicações escritas em diferentes linguagens interagem facilmente. Por exemplo, o desenvolvedor pode escrever uma aplicação em C# que acessa uma DLL em VB .NET. Ambos os recursos são convertidos em módulos IL antes de ser executados desta maneira evita-se a incompatibilidade entre as linguagens.

 

Cada módulo contém um determinado número de tipos. Tipos são moldes que descrevem um conjunto de dados encapsulados com funcionalidades. Há duas espécies de tipos: tipos por referência (classes) e tipos por valores (estruturas). Cada tipo é descrito para a CLR no manifesto do assembly. Um tipo contém campos, propriedades e métodos cada um relacionado com uma funcionalidade comum. Por exemplo, você pode ter uma classe que representa um banco. Um campo pode armazenar o nome do proprietário da conta. Propriedades são similares aos campos. As propriedades realizam algum tipo de validação quando os dados são definidos ou recuperados. Uma propriedade pode representar o  saldo de uma conta. Quando se trata de tentar mudar o valor a propriedade  pode checar se a mudança de valor extrapola o limite da conta.

 

Se o valor é maior que o limite a propriedade não permite a alteração. Métodos representam comportamentos como as ações que alteram os dados das propriedades.

 

Continuando com o exemplo do banco o método transferência retira o valor de uma conta e colocar o valor em uma outra conta ou ainda, pode existir um método que avisa quando uma conta bancária alcança seu limite.

 

Compilação e execução de uma aplicação .NET

 

Quando você compila uma aplicação .NET você não a compila para o código nativo da máquina e sim para IL. Esta é a forma que sua aplicação é publicada em um ou mais assemblies compostos por DLLs e executáveis. Um desses assemblies deve conter um executável designado como ponto de entrada da aplicação.

 

Quando a execução do programa começa, o primeiro assembly é carregado para a memória. Neste ponto a CLR examina o manifesto do assembly e determina os requisitos do programa. Ele examina as permissões de segurança requisitadas  pelo assembly e compara com as políticas de segurança do sistema. Se as políticas de segurança do sistema não fornecem as permissões requisitadas pelo programa a aplicação não será executada. Se a aplicação passa pela checagem de segurança do sistema o CLR executa o código. Ele cria um processo para a aplicação e inicia sua execução. Quando a execução inicia, a primeira porção de código necessário para a execução ocorrer e carregado na memória e compilado para o código nativo da máquina pelo JIT (Just-in-time compiler). Quando o programa tenta usar parte do código que ainda não foi compilado o JIT compila este código e o coloca na memória em código nativo. Desta forma o  desempenho da aplicação é maximizado porque apenas as partes executadas são compiladas.

 

A biblioteca básica de classes do .NET

 

A biblioteca básica de classes do .NET é uma coleção de interfaces  e tipos orientados a objetos e que fornecem modelos de objetos e serviços para diversas tarefas complexas de programação  que você precisa. A grande maioria dos tipos fornecidos pela biblioteca básica de classes do .NET são extensíveis, permitindo que você crie tipos e incorpore sua próprias funcionalidades  a eles.

 

A .NET Framework Class Library (biblioteca básica de classes do .NET) contém classes que fornecem serviços e objetos que você precisa para escrever suas aplicações.

 

A biblioteca é organizada em namespaces. Os namespaces são agrupamentos lógicos de tipos que realizam funções relacionadas. Por exemplo, o namespace System.Windows.Forms  contém todos os tipos que trabalham com janelas, formulários e controles utilizados dentro de um formulário.

 

Namespaces são grupos de classes relacionadas. Os namespaces na .NET Framework Class Library são organizados hierarquicamente. A raiz dos namespaces do .NET Framework  é o namespace System. Outros namespaces podem ser acessados através do operador . (ponto). Uma construção típica de um namespace aparece a seguir:

 

System

System.Data

System.Data.SQLClient

 

A primeira linha se refere ao namespace System. A segunda linha se refere ao namespace System.Data e a terceira linha se refere ao namespace System.Data.SQLClient.

 

A tabela a seguir mostra alguns dos principais namespaces da .NET Framework Class Library.

 

 

O nome do namespace são auto-descritivos. Nomes diretos e claros fazem as bibliotecas do .NET Framework tornarem-se fáceis para uso e permitem que você se familiarize rapidamente com o seu conteúdo.

 

Tipos por referência e tipos por valores

 

Tipos no .NET Framework são de duas variedades: Por referência e por valores.

 

A diferença primária entre ambos é a forma como o dado é acessado. Para que você entenda esta iremos esclarecer alguns conceitos e formas da memória operar.

 

A memória de uma aplicação é divida em dois componentes básicos  a stack e a heap. Stack é análogo a uma pilha de pratos.  Pratos são colocados em uma pilha de pratos uns sobre os outros. Sempre o último prato a ser colocado na pilha é o primeiro a ser removido da pilha. Isto acontece com as variáveis dos programas. Quando uma função é chamada todas as variáveis da função são colocadas (empilhadas) na stack. Se esta função chama outra função as variáveis da função chamada também são empilhadas sobre as variáveis da função anterior. Quando a função mais recentemente chamada termina todas as suas variáveis são retiradas da pilha. A memória consumida pelas variáveis volta a ficar disponível para o sistema.

 

A heap é uma área separada de memória reservada para a criação de objetos reutilizáveis. O CLR gerencia a alocação da heap para objetos e controles que reclamam memória de objetos não mais usados através da coleta de lixo (garbage collection).

 

Todos os dados associados a um tipo por valor são armazenados ns stack.

 

Quando uma variável de tipo por valor encerra seu trabalho ela é destruída e a memória liberada. Já uma variável de um tipo por referência exige dois espaços na memória. Os dados do objeto atual são alocados na heap e uma variável contendo o ponteiro (endereço) para os dados do objeto atual é alocada na stack. Quando esta variável é chamada por uma função ela retorna o endereço do objeto que ela referencia.

 

Quando estas variáveis terminam seus trabalhos a referência é destruída mas o objeto não.  Se uma outra referência a este objeto existir o objeto permanece intacto.

 

Se não existir nenhuma referência a este objeto quando houver a coleta de lixo este objeto será removido da memória.

 

Exemplos de valores por tipo incluem os tipos primitivos como Integer (Int), Boolena (bool), Char (Char) e alguns tipos definidos pelo usuário como estruturas (Structure – struct) e enumerações (Enumeration – Enum). Classes representam a grande maioria dos tipos por referência. Outros tipos por referência incluem interfaces, delegates e tipos array.

 

 

LISTA DE TODOS OS TUTORIAIS DISPONÍVEIS

 


CURSOS ONLINE COM CERTIFICADO E SUPORTE
Gerência de Projetos SQL Server 2005 Gerência Financeira Windows Server 2003
MS Project 2007 Photoshop Projeto e Interconexão de Redes LAN Técnico Profissionalizante de Informática
Profissionalizante de Flash      
CURSO EM FORMATO DE VÍDEO-AULA
EXEMPLOS PRÁTICOS PASSO A PASSO COM SOM E IMAGEM
Clique no curso para informações detalhadas
Curso Duração Informações
ACCESS
Vídeo-Aula - Access 2007 - Curso Básico 2h01m Clique aqui
Vídeo-aula - Access 2007 - Tudo Sobre Consultas 2h30m Clique aqui
Vídeo-Aula - Curso Avançado de Access 2003 2h48m Clique aqui
Vídeo-Aula - Curso Básico de Access 2003 2h49m Clique aqui
EXCEL
Vídeo-aula - Criando uma Agenda no Excel 40m Clique aqui
Vídeo-aula - Curso de Macros e Programação VBA no Excel - Avançado 11h27m Clique aqui
Vídeo-aula - Curso de Macros e Programação VBA no Excel - Básico e Int... 13h02m Clique aqui
Vídeo-aula - Excel 2003 - Curso Básico 3h03m Clique aqui
Vídeo-Aula - Excel 2007 - Curso Avançado 2h30m Clique aqui
Vídeo-Aula - Excel 2007 - Curso Básico 2h35m Clique aqui
Vídeo-Aula - Tabelas Dinâmicas Avançadas no Excel 2003 2h Clique aqui
Vídeo-aula - Tudo Sobre Funções Matriciais no Excel 2h30m Clique aqui
Vídeo-Aula - Tudo Sobre Gráficos no Excel 9h Clique aqui
Vídeo-aula interativa: Tudo Sobre Tabelas Dinâmicas no Excel 2003 2h30m Clique aqui
WORD
Vídeo-Aula - Curso Básico de Word 2003 2h14m Clique aqui
Vídeo-aula - Word 2003 Avançado 1h34m Clique aqui
Vídeo-aula - Word 2003 Básico 2h14m Clique aqui
Vídeo-Aula - Word 2007 - Curso Básico 2h23m Clique aqui
POWERPOINT
Vídeo-Aula - Curso Básico de PowerPoint 2003 2h22m Clique aqui
WINDOWS
Vídeo-Aula - Curso Básico de Windows XP 2h36m Clique aqui
Vídeo-Aula - Windows XP - Formatação e Instalação 3h47m Clique aqui
Vídeo-Aula - Windows XP Básico + Intermediário + Dicas Práticas 8h Clique aqui
PROGRAMAÇÃO
Vídeo-Aula - CALCULADORA HP 12C - Curso Prático em 80 Lições 02h30m Clique aqui
Vídeo-Aula - CALCULADORAS HP 50G - 49G/G+ - 48 GII -- Clique aqui
Vídeo-Aula - Curso Completo de Lógica de Programação 22h15m Clique aqui
Vídeo-Aula - Lógica de Programação com VB.NET 14h Clique aqui
CONCURSOS PÚBLICOS
Vídeo-aula - Excel Para Concursos Públicos - Simulados e Provas Coment... 2h Clique aqui
Vídeo-Aula - Matemática Básica - Módulo I 22h Clique aqui
Vídeo-aula - Matemática Financeira - Teoria e Prática 9h10m Clique aqui
Vídeo-Aula - Raciocínio Lógico - Curso Completo e Prático 12h Clique aqui
Vídeo-aula - Série Concursos: Inglês ESAF - Simulados e Provas Comenta... 2h Clique aqui
BANCO DE DADOS
Vídeo-Aula - Dominando o ORACLE - Curso Prático 12h Clique aqui
Vídeo-Aula - MySQL - Curso Completo e Prático 11h30m Clique aqui
Vídeo-aula - SQL Server 2005 - Reporting Services 2h30m Clique aqui
WEBDESIGN
Vídeo-Aula - Criação de Sites - Curso Básico 2h53m Clique aqui
Vídeo-Aula - Criando Blogs Profissionais - Curso Completo 45m Clique aqui
Vídeo-Aula - Criando Sites Dinâmicos Avançados com DreamWeaver CS3, PH... 4h54m Clique aqui
Vídeo-Aula - Criando Sites Dinâmicos com DreamWeaver CS3, PHP e MySQL 4h05m Clique aqui
Vídeo-Aula - Criando uma Loja Virtual com PHP e MySQL - Curso Completo 19h Clique aqui
Vídeo-Aula - Curso Completo de PHP + HTML + CSS 27h35m Clique aqui
Vídeo-Aula - DreamWeaver CS4 - Curso Prático 1h53m Clique aqui
Vídeo-aula - Flash CS3 - Básico e Prático 4h45m Clique aqui
Vídeo-Aula - Flash MX - Curso Básico 2h26m Clique aqui
Vídeo-Aula - HTML - Curso Prático 2h40m Clique aqui
Vídeo-Aula - Tableless - Crie Sites 100% nos Padrões Web 4h10m Clique aqui
INTERNET
DVD: Hardware - Curso Básico 58m Clique aqui
Vídeo-Aula - Curso de Microinformática Prática 4h35m Clique aqui
Vídeo-aula - Curso Prático de Internet 40m Clique aqui
Vídeo-aula - Curso Prático de Outlook Express 55m Clique aqui
CAD
Vídeo-Aula - Curso de Autocad 2D 4h Clique aqui
Vídeo-Aula - Curso de Autocad 3D 3h45m Clique aqui
VÍDEO E ÁUDIO
DVD: Conversão de Formatos Digitais: Áudio e Vídeo 1h26m Clique aqui
Vídeo-Aula - Como Criar Vídeo-Aulas - Curso Prático 1h04m Clique aqui
Vídeo-Aula - Curso de Teoria Musical 1h Clique aqui
PROGRAMAS GRÁFICOS
Vídeo-Aula -  Flash CS4 - Curso Prático 2h19m Clique aqui
Vídeo-Aula - Curso de CorelDraw X4 - Módulo I 3h Clique aqui
Vídeo-Aula - Curso Profissional Photoshop 4h20m Clique aqui
Vídeo-Aula - Fireworks CS4 - Curso Prático 1h35m Clique aqui
Vídeo-Aula - Photoshop CS4 - Curso Prático 4h24m Clique aqui
ADMINISTRAÇÃO E NEGÓCIOS
DVD - Curso de Oratória - Falando em Público sem Medo 2h36m Clique aqui
LIVROS CAMPEÕES DE VENDA NO SITE
Dossiê Hacker
Universidade Project
Loja de Livros

© Júlio Battisti, 2001 - 2009. Todos os direitos reservados.
É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998. Este tutorial só pode ser publicado no site www.juliobattisti.com.br e no site do Autor do tutorial. Nenhum outro site tem permissão para copiar e publicar este tutorial, mesmo que sejam mantidas todas as referências ao autor e ao site www.juliobattisti.com.br. Não é permitida a publicação deste tutorial em nenhum outro site.