Você está na página 1de 37

1. .

NET FRAMEWORK
Segundo LOTAR (2008), .NET Framework um componente integrado
ao Windows que suporta a execuo e o desenvolvimento de uma nova
gerao de aplicaes e XML web services.
O .Net Framework um ambiente de tempo de execuo que
proporciona uma variedade de servios para os aplicativos em execuo,
consiste em tempo de execuo da linguagem comum que por sua vez fornece
gerenciamento de memria e outros servios, alm de uma biblioteca de
classes abrangente.
Conforme contedo disposto nas referncias .NET Framework no site
da Microsoft:
O .NET Framework foi criado para atender os
seguintes objetivos:
Para fornecer um ambiente de programao
orientada a objetos consistente, quer o cdigo
objeto seja armazenado e executado localmente,
seja executado localmente mas distribudo pela
Internet ou seja executado remotamente.
Fornecer um ambiente de execuo que minimize
conflitos de versionamento de publicao.
Fornecer um ambiente de execuo que promova a
execuo
segura
de
cdigo
criado
por
desconhecidos ou cdigo de terceiros com baixo
nvel de confiana.
Para fornecer um ambiente de execuo que
elimina
os problemas de
desempenho
dos
ambientes interpretados ou com scripts.
Para tornar a experincia do desenvolvedor
consistente, atravs dos diversos tipos de
aplicativos, como aplicativos baseados no W indows
e aplicativos baseados na Web.
Para executar toda comunicao usando padres
da indstria, assim garantindo que cdigos
baseados
no
.NET
Common
Language
RuntimeFramework possam se integrar a qualquer
outro cdigo.

O .Net Framework tem o common language runtime e a biblioteca de


classes do .NET Framework como principais componentes, o primeiro na
prestaes de servios essenciais e o segundo na disponibilidade de colees
de objetos orientados a tipos reutilizveis.

2
A figura n 1 apresenta o relacionamento do common language runtime
e da biblioteca de classes para seus aplicativos para com o sistema geral, e
tambm o cdigo gerenciado opera dento de uma arquitetura maior.

Figura 1 - .Net Framework em contexto.

Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/zw4w595w.aspx

Figura 2- Histrico de verses do CLR e verses instaladas pelo Windows

Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/bb822049.aspx

Na figura n 2, possivel verificar que apesar das novas verses o


common language runtime mamtem os recursos das verses anteriores, ja a
identificao do common language runtime pelo prpeio nmero da verso,
sendo que em algumas verses podem incluir uma novar verso ou usar uma
verso anterior.
As linguagens suportadas pelo common language runtime so: visual
basic, c#, visual c++, jscript, visual j#, alem de outras linguagens a exemplo.
1.1 PRINCIPAIS CARACTERSTICAS
Dentre as vrias caractersticas e funcionalidades presentes no.Net
Framework destacam-se as seguintes:

Gerenciamento Automtico de memria.


Um sistema de tipo comum.
Uma biblioteca de classe abrangente.
Estruturas e tecnologias de desenvolvimento.
Interoperabilidade de linguagem.
Compatibilidade de verso.
Execuo lado a lado.
Multiplataforma.

4
1.2

GERENCIAMENTO AUTOMTICO DE MEMRIA


Conforme material instrucional contido no site da Microsoft:
Gerenciamento automtico de memria um dos servios que
o Common Language Runtime fornece durante a Execuo
Gerenciada1. O coletor de lixo do Common Language Runtime
gerencia a alocao e liberao de memria para um
aplicativo.

Desta maneira, os desenvolvedores no tem que escrever cdigo para


realizar tarefas de gerenciamento de memria, eliminando problemas alocao
e liberao, ou situaes de como tentar acessar um objeto j liberado ou
esquecer-se de liberar espao em memria e acabar ocorrendo vazamento de
memria2 ao tentar acessar o objeto.
Alocao de memria: Ocorre quando inicia um novo processo, onde o
tempo de execuo reserva uma regio contgua de espao de endereo
para o processo. O endereo reservado chamado de heap gerenciada,
no primeiro tipo de referncia alocado um endereamento bsico da
heap gerenciada, sendo que quando for criado outro objeto, logo o
coletor de lixo aloca um endereamento de espao, claro que conforme
a necessidade do aplicativo, isso desde que haja endereo disponvel.
Alocar espao de memria com o heap gerenciador mais rpido que
utilizar alocao sem gerenciamento, visto que o heap adiciona um valor
ao espao alocado, deixando to rpido quanto a alocao de memria
da pilha (stack) 3.
Liberar memria: o coletor de lixo que determina quando executar a
coleta da base das alocaes feitas, liberando da memria objetos que
no esto mais sendo utilizado pelo aplicativo, o coletor determina a
1

um processo divido em quatro etapas: Escolher o compilador, Compilar seu cdigo para
Microsoft Intermediate Language (MSIL), Compilao MSIL ao cdigo nativo, Executar o
cdigo.
2

O vazamento de memria a perda de acesso memria em um programa devido ao fato de


um destruidor errado ser chamado. (HUBBARD, 2000, p. 280).
3

A pilha a rea armazenamento para variveis relacionado em uma funo. Windows


Embedded CE gerencia um separar pilha para cada segmento no sistema. A arquitetura da
pilha depende de como o microprocessador, mas geralmente, o limite pilha usar como padro
64 KB, 8 KB ou duas pginas, reservadas para controle de erro estouro (Stack (Pilha)).

5
partir da analise das razes dos aplicativos, isso a partir do acesso que
tem a listas de razes ativas pelo runtime e pelo Compilador Just-In

Time (JIT) 4.
Liberar memria para recursos no gerenciados: A maioria dos
objetos de um determinado aplicativo pode-se confiar no coletor de lixo
para executar automaticamente esta tarefa, no entanto recursos no
gerenciados a limpeza deve ser de maneira explicita, a exemplo em
situaes em que ocorre interao do aplicativo com um determinado
recurso do sistema operacional, tais como um identificador de janelas,
identificador

de

arquivo

ou

conexo

de

rede.

Segundo consta em material contido no site da Microsoft acerca


gerenciamento automtico de memria, apesar de o coletor ser capaz
de gerenciar o tempo de vida de um objeto gerenciado que encapsula
um recurso no gerenciado, ele no tem conhecimento de como limpar
este recurso, em situaes deste tipo recomendado programar o
mtodo publico Dispose

para que o usurio possa liberar da memoria

os recursos no mais usados.


1.3

SISTEMA DE TIPO COMUM (COMMON TYPE SYSTEM)


Conforme material instrucional contido no site da Microsoft: O sistema

de tipo comum define como os tipos so declarados, usados e gerenciados


pelo common language runtime e tambm uma parte importante do suporte
em tempo de execuo para a integrao entre linguagens.
E sendo funes executadas pelo sistema de tipo comum:

Estabelece estrutura: Conforme material instrucional no site da


Microsoft, que contribui com integrao entre linguagens, segurana

dos tipos e alto desempenho na execuo dos cdigos.


Fornece um modelo orientado a objetos: Oferece suporte a
implementao completa de muitas linguagens.

O compilador JIT converte bytecodes em cdigo de mquina nativo. Esse processo de


compilao feito apenas uma vez e criado um link entre o cdigo de bytes e o respectivo
cdigo compilado. O objetivo desse processo aumentar a velocidade na qual executar
programas Java. (Compilador Just-In-Time (JIT)).
5

Executa tarefas definido pelo aplicativo associadas liberando, liberando ou redefinindo


recursos no gerenciados. (Mtodo IDisposable.Dispose).

Define regras: Conforme material instrucional contido no site da


Microsoft, que ajudam a garantir que objetos escritos em diferentes

linguagens possam interagir um com os outros.


Fornece biblioteca: Que possui os tipos de dados primitivos 6, que so
usados no desenvolvimento de aplicativos.
Ao descrever o sistema de tipo comum, necessrio abordar os

conceitos que o circundam, tais como: tipos, definies, membros e


caractersticas de membros.
1.4

TIPOS
Os tipos podem ser de valor ou referncia.
Valor: Trata-se de dados que representao o valor real do
objeto, que quando atribudo a uma varivel esta passa a ter uma

cpia deste valor,


Referncia: Segundo consta em material contido em site da
Microsoft, so tipos de dados cujos objetos 7 so representados
por uma referncia (semelhante a um ponteiro) para o valor real

do objeto.
Os tipos suportam cinco tipos de categorias: classes, estrutura,
enumeraes, interfaces, delegate.
Classe: Determina quais operaes que um objeto pode
executar, seja um mtodo8, evento9 ou propriedades10, e quais

Tipos de dados primitivos so os tipos traduzidos diretamente para a linguagem de mquina.


Por exemplo, o tipo Real define uma faixa de nmeros que podem conter casas decimais,
podendo ser usado em qualquer uma das quatro operaes bsicas, mas no podem ser
usados para calcular fatorial. (LEITE, p 42, 2006).
7

O objeto definido como uma ocorrncia de uma entidade lgica, contendo dados e funes
que manipulam esses dados. (HICKSON, p 169, 2005).
Um mtodo um bloco de cdigo que contm uma srie de instrues . (Mtodos (guia de
programao do C#)).
8

Eventos habilitam uma classe ou objeto a notificar outras classes ou objetos quando ocorrer
algo de interesse. (Eventos (guia de programao do C#))
10

Uma propriedade um membro que fornece um mecanismo flexvel para ler, gravar ou
calcular o valor de um campo particular. (Propriedades (guia de programao do C#)).

7
so seus campos. Sua classe base a System Object

11

, esta

implementa o nmero de interfaces que desejar, mas pode herdar

apenas de uma classe alm do System Object.


Estrutura: semelhante classe, pois podem ter campos,
eventos, propriedades, eventos e mtodos estticos e no
estticos. bem til em um cenrio que o requisito necessita de
pouca utilizao de memria e/ou em passagem de valores para
mtodos que possuem parmetros fortemente digitados.
Conforme material instrucional contido no site da Microsoft, uma
estrutura um tipo de valor que derivada implicitamente do
System.ValueType,

que

por

sua

vez

derivada

de

System.Object .
Enumeraes (enum): um conjunto de constantes nomeadas, ou
tambm chamada de lista enumerador, o tipo enumerador herdado
diretamente do System.Enum12. Os tipos suportados pelo enumerador
exceto char so: byte, sbyte short, ushort, int, uint, long ou ulong.
Para criar uma enumerao usa-se a palavra reservada enum seguida
do nome da lista de enumerador e de suas constantes e seus
respectivos valores, que podem estar ou no declarados explicitamente,
o primeiro enumerador tem o valor 0, mas podendo ser iniciado a partir
de 1, mas apesar desta condio recomenda-se que a lista de

enumerador tenha uma constante com o valor de 0.


Interfaces: Uma interface contm apenas as assinaturas de mtodos,
propriedades, eventos ou indexadores 13. Para definir uma interface usase

palavra

reservada

interface.

Conforme consta em material contido no site da Microsoft, uma classe


ou estrutura que implementa a interface deve implementar os membros
da interface que esto especificados na definio da interface.

11

Suporta todas as classes na hierarquia de classes do .NET Framework e fornece servios de


baixo nvel para classes derivadas. Este a classe base fundamental de todas as classes
do .NET Framework; ela a raiz da hierarquia de tipos.(Classe Object).
12

13

Fornece a classe base para enumeraes. (Classe Enum).

Os Indexadores permitem que as instncias de uma classe ou estrutura sejam indexadas


apenas como vetores. (Indexadores (guia de programao do C#)).

Delegate: Segundo consta em material contido no site da Microsoft:


um tipo de referncia que pode ser usado para encapsular um nome ou
um mtodo annimo14. Delegates so semelhantes aos ponteiros de
funo em C++; entretanto, delegates so fortemente tpados e
seguros. Sua classe base a System.Delegate15.

1.5

DEFINIES DE TIPO
Na definio de tipo inclui as seguintes caractersticas: atributo,

acessibilidade (visibilidade), nome do tipo, base e interface implementada.


Os atributos herdam da classe System.Attribute16.
Segundo material contido no site da Microsoft:
Atributos fornecem metadados adicionais definidos pelo usurio.
Com frequncia, eles so usados para armazenar informaes
adicionais sobre um tipo em seu assembly17, ou para modificar o
comportamento de um membro de tipo no ambiente de tempo de
design ou em tempo de execuo.

J a acessibilidade de tipo depende do domnio de acessibilidade que


definido para o membro, logo podem ser public, protected internal, protected,
internal, private.

Public: um tipo de domnio que no possui restries de acesso, e

visvel em todo programa.


Protected internal: um tipo que possui restries de acesso, sendo

visvel apenas classe e ao conjunto de mdulos do assembly corrente.


Protected: um tipo que possui restries de acesso, sendo visvel
apenas classe ou tipos derivados da classe recipiente.

14

Um mtodo annimo apenas um mtodo que no tem nome. Mtodos annimos so


usados com mais frequncia para passar um trecho de cdigo como um parmetro delegate.
(Mtodos annimos e analise de cdigo).
15

O Delegate classe a classe base para tipos delegate. No entanto, somente o sistema e os
compiladores podem derivar explicitamente o Delegate classe ou o MulticastDelegate classe.
(Classe Delegate).
16

17

Representa a classe base para atributos personalizados.

Um arquivo um assembly, se e somente se ele gerenciado e contm uma entrada de


assembly nos metadados. (Como: determinar se um arquivo um Assembly (C# e Visual
Basic).

Internal: Conforme material instrucional contido no site da Microsoft o

acesso limitado ao conjunto de mdulos (assembly) corrente.


Private: um tipo que possui restries de acesso, dentre o que possui
restries o menos acessvel, podendo ser acessado apenas dentro do
corpo da classe ou estrutura na qual declarada.
O

nome

do

tipo

deve

ser

exclusivo

somente

dentro

namespace 18 , visto que todas as comparaes so feitas byte-by-byte


19

diferenciando maisculo de minsculo.


Segundo material contido no site da Microsoft:
Um nome de tipo consiste em especificadores de tipo, como int ou o
nome de uma classe ou struct, em combinao com um Declarador
abstrata, conforme descrito em declaraes20 e Declaradores
abstratos21.

Os tipos de bases e interface pode implementar o nmero de interfaces


que desejar, mas no pode herdar de mais de um tipo base, obrigatoriamente
um tipo deve implementar todos os membros virtuais de uma interface.
Conforme material instrucional contido no site da Microsoft, um mtodo
virtual pode ser implementado por um tipo derivado e pode ser chamado
esttica ou dinamicamente.
1.6

MEMBROS DE TIPOS
O tempo de execuo tem papel fundamental para os membros de tipo.

Pois no tempo de execuo ocorre uma compilao Just-In-Time (JIT) que


converte para Microsoft Intermediate Language (MSIL) em cdigo nativo,
18

A palavra chave namespace usada para declarar um escopo que contm um conjunto de
objetos relacionados. (Namespace (referncia de C#)).
19

Byte um valor imutvel que vai variam de 0 a 255. (Estrutura byte).


20

Declaraes de introduzem novos nomes em um programa. (Declaraes).

21
Um Declarador abstrato um Declarador que no declara um nome o
identificador ser deixado de fora. (Resumo de C++ declaradores).

10
durante esse processo o MSIL e os metadados

22

passam por uma verificao,

para descobrir se o cdigo pode ser classificado como seguro, isso a menos
que o administrador tenha estabelecido uma poltica de segurana que permita
que o cdigo ignore tal verificao.
Segundo consta em material contido no site da Microsoft:
um conjunto de instrues independentes de CPU o qual pode ser
convertido em cdigo nativo com eficincia. O MSIL inclui instrues
para

carregamento,

armazenamento,

inicializao

chamada

mtodos em objetos, e instrues para operaes aritmticas e


lgicas, fluxo de controle, acesso direto memria, tratamento de
exceo e outras operaes. Antes de o cdigo poder ser executado,
o MSIL deve ser convertido no cdigo especfico da CPU, geralmente
por um Compilador Just-In-Time (JIT). Como o Common Language
Runtime fornece um ou mais compiladores JIT para cada arquitetura
de computador para a qual oferece suporte, o mesmo conjunto de
MSIL pode ser compilado JIT e executado em qualquer arquitetura
suportada.

Conforme material instrucional contido no site da Microsoft, o tempo


de execuo permite que voc defina os membros do tipo, o que especifica o
comportamento e o estado de um tipo.
A tabela a seguir contempla os membros de tipos usados no .Net
Framework.
Quadro n 1 Membros de tipos usados no .Net Framework.
Membro
Descrio
Evento
Define um incidente ao qual pode-se responder e define
mtodos para inscrever em, cancelar a inscrio em e
levantar um evento. Eventos so frequentemente usados
para informar outros tipos de alteraes de estado.
Descreve e contm parte do estado do tipo. Campos

Campo

podem ser de qualquer tipo suportado pelo ambiente de


Tipo Aninhado
Mtodo
22

execuo.
Define um tipo dentro do escopo do tipo delimitador.
Descreve as operaes disponveis no tipo. A assinatura

Informao binria que descreve o seu programa que armazenado tanto em um


arquivo Common Language Runtime Portable Executable (PE) ou na memoria.(Metadados
e Componentes Autodescritivos).

11
do mtodo especifica os tipos dos argumentos e o valor de
retorno do mtodo. O construtor um tipo especial de
Propriedades

mtodo que cria novas instncias de um tipo.


Nomeia um valor ou um estado do tipo e define mtodos
para obter ou definir o valor da propriedade. Propriedades
podem ser tipos primitivos, colees de tipos primitivos,
tipos definidos pelo usurio ou colees de tipos definidos
pelo usurio. Propriedades so frequentemente usadas
para manter a interface pblica de um tipo, independente

da representao real do tipo.


Fonte: http://msdn.microsoft.com/pt-br/library/exe76ct6%28v=vs.90%29.aspx
1.7

UMA BIBLIOTECA DE CLASSE ABRANGENTE


A biblioteca de classes possui diversas funcionalidades que ajudam os

programadores no desenvolvimento de softwares, pois alm de poupar trabalho


na escrita de cdigos de baixo nvel comum, serve de base para todos os
aplicativos, componentes, e controles do .Net Framework.
Conforme contedo disposto nas referencias do NET Framework no
site da Microsoft. a biblioteca de classes do .NET Framework uma biblioteca
de classes, interfaces e tipos de valor que fornecem acesso s funcionalidades
do sistema.
A verso 4.5 do .NET Framework possui em sua biblioteca de classes
um total de cinquenta e cinco classes, que implementam os mais diversos tipos
de controles e funcionalidades, que vo de desde a tarefas mais comuns de
serem encontradas em diversos softwares como processamento de xml

23

ou

tarefas mais especficos como suporte a reconhecimento de fala.


Quadro n 2 - Biblioteca de classes do .NET Framework.
System
O namespace System contm classes
fundamentais

classes

base

que

definem os tipos de dados de referncia


e valor comumente usados, eventos e
23

A XML uma linguagem de marcao que foi definida pelo World Wide Web (W3C) para
uso na web. Em geral, o termo linguagem de marcao se refere a uma codificao textual que
representa um texto e os detalhes de sua estrutura ou de sua aparncia. (Sistemas Distribudos
Conceitos e Projeto, p 142, 2007).

12
manipuladores de eventos, interfaces,
System.Activities

atributos e excees de processamento.


Os namespaces do System.Activities
contm todas as classes necessrias
para criar e trabalhar com atividades no

System.AddIn

Window Workflow Foundation.


Os namespaces do System.AddIn
contm tipos usados para identificar,
registrar, ativar e controlar suplementos,
bem como para permitir que estes se

System.CodeDom

comuniquem com um aplicativo host.


Os namespaces do System.CodeDom
contm classes que representam os
elementos de um documento de cdigofonte e que oferecem suporte gerao
e compilao do cdigo-fonte em

System.Collections

linguagens de programao suportadas.


Os namespaces do System.Collections
contm tipos que definem vrios objetos
de conjuntos padro, especializados e

System.ComponentModel

genricos.
Os

namespaces

do

System.ComponentModel contm tipos


que implementam o comportamento de
componentes e controles em tempo de
execuo e em tempo de design. Os
namespaces filho oferecem suporte ao
Managed Extensibility Framework (MEF),
fornecem

classes

de

atributos

que

definem metadados para os controles do


ASP.NET Dynamic Data e contm tipos
que permitem definir o comportamento de
componentes em tempo de design e suas
System.Configuration

interfaces de usurio.
Os namespaces do System.Configuration

13
contm

tipos

configurao,

para

tratar

como

os

dados
dados

de
em

arquivos de mquina e de configurao


de aplicativos. Os namespaces filho
contm tipos que so usados para
configurar

um

instaladores

assembly,
personalizados

gravar
de

componentes e oferecer suporte a um


modelo conectvel para incluso ou
remoo
System.Data

de

funcionalidades

de

aplicativos de servio e cliente.


Os namespaces do System.Data contm
classes para acessar e gerenciar dados
de diversas origens. A namespace de
nvel superior e vrios namespaces filho,
em conjunto, formam a arquitetura e os
provedores de dados ADO.NET. Por
exemplo, h provedores disponveis para
SQL Server, Oracle, ODBC e OleDB.
Outros namespaces filho contm classes
usadas pelo EDM (Modelo de Dados de
Entidade) ADO.NET e pelo WCF Data

System.Deployment

Services.
Os namespaces do System.Deployment
contm tipos que oferecem suporte

System.Device.Location

implantao de aplicativos ClickOnce.


O namespace System.Device.Location
permite que os desenvolvedores de
aplicativos possam acessar facilmente a
localizao do computador usando uma
nica API. Informaes sobre o local
podem originar-se de vrios meios, como
por exemplo, GPS, Wi-Fi de triangulao
e triangulao de telefone celular. O

14
System.Device.Location possui classes
fornecem uma nica API para encapsular
os vrios provedores em um computador
local e oferecer suporte a priorizao
perfeita e a transio entre elas. Como
resultado,

os

desenvolvedores

aplicativos

que

usam

necessrio
System.Diagnostics

adaptar

essa
a

API

de

aplicao,

configuraes de hardware especfico.


Os namespaces do System.Diagnostics
contm tipos que permitem interagir com
processos do sistema, logs de eventos e
medidores

de

desempenho.

Os

namespaces filho contm tipos para


interagir com ferramentas de anlise de
cdigo, oferecer suporte a contratos,
estender o suporte em tempo de design
para a instrumentao e monitoramento
de aplicativos, registrar dados de eventos
usando o subsistema Rastreamento de
Eventos para Windows (ETW), ler e
gravar logs de evento, coletar dados de
desempenho e ler e gravar informaes
System.DirectoryServices

de smbolos de depurao.
Os
namespaces

do

System.DirectoryServices contm tipos


que fornecem acesso ao Active Directory
System.Drawing

do cdigo gerenciado.
O namespace pai do System.Drawing
contm tipos que oferecem suporte
funcionalidade grficas bsicas do GDI+.
Os namespaces filho oferecem suporte a
avanados recursos bidimensionais e
grficos vetoriais, de imagem e servios

15

System.Dynamic

tipogrficos e relacionados impresso..


O System.Dynamic namespace fornece
classes

System.EnterpriseServices

interfaces

que

oferecem

suporte a Dynamic Language Runtime.


Os
namespaces
do
System.EnterpriseServices contm tipos
que definem a arquitetura de servios
COM+, que fornece uma infraestrutura

System.Globalization

para aplicativos corporativos.


O
namespace
System.Globalization
contm classes que definem informaes
relacionadas cultura, incluindo idioma,
pas/regio, os calendrios em uso, os
padres

de

formatao

para

datas,

moeda e nmeros e a classificao do


System.IdentityModel

pedido para sequncias de caracteres.


Os namespaces System.IdentityModel
conter

tipos

que

so

usados

para

fornecer autenticao e autorizao para.


System.IO

NET.
Os namespaces do System.IO contm
tipos que oferecem suporte a entrada e
sada, inclusive a capacidade de ler e
gravar

dados

em

fluxos

de

forma

sncrona ou assncrona, compactar dados


em fluxos, criar e usar armazenamentos
isolados e mapear arquivos para um
espao

de endereo

lgico

de

um

aplicativo, armazenar vrios objetos de


dados

em

um

nico

continer,

estabelecer comunicao usando pipes


annimos ou nomeados, implementar
gerao

de

logs

personalizados

processar o fluxo de dados destinados ou


provenientes de portas seriais.

16
System.Linq

Os namespaces do System.Linq contm


tipos que oferecem suporte a consultas
que usam consulta integrada linguagem
(LINQ). Isso inclui tipos que representam
consultas como objetos em rvores de

System.Management

expresso.
Os namespaces do System.Management
contm tipos que fornecem acesso a
informaes e eventos de gerenciamento
sobre o sistema, dispositivos e aplicativos
ligados

infraestrutura

de

Instrumentao de Gerenciamento do
System.Media

Windows (WMI).
O namespace System.Media

contm

classes para reproduzir arquivos de som


System.Net

e acessar sons fornecidos pelo sistema.


Os namespaces do System.Net contm
classes que fornecem uma interface de
programao

simples

para

vrios

protocolos da internet, recursos para


acessar

programtica,
namespaces

atualizar,
as
do

de

forma

configuraes
System.Net,

dos
definir

polticas de cache para recursos Web,


compor e enviar emails, representar
cabealhos MME, acessar dados do
trfego

de

rede

informaes

de

endereo da rede e acessar rede ponto a


System.Numerics

ponto.
O namespace System.Numerics contm
tipos numricos que complementam os
tipos numricos primitivos, como Byte,
Double, e Int32, que so definidos
pelo .NET Framework. contm tipos
numricos que complementam os tipos

17
numricos primitivos, como Byte, Double,
e Int32, que so definidos pelo .NET
System.Printing

Framework.
Os namespaces

do

System.Printing

contm tipos que oferecem suporte


impresso,

fornecem

acesso

propriedades de objetos do sistema de


impresso,

permitem

copiar

suas

configuraes de propriedades em outro


objeto do mesmo tipo e oferecem suporte

interconverso

System.PrintTicket
estruturas
System.Reflection

de

objetos

gerenciados

GDI

DEVMODE

de
no

gerenciadas.
Os namespaces do System.Reflection
contm tipos que fornecem uma viso
gerenciada dos tipos, mtodos e campos
carregados e podem criar e invocar tipos
de forma dinmica. Um namespace filho
contm tipos que permitem que um
compilador ou outra ferramenta emita
metadados

System.Resources

Microsoft

Intermediate

Language (MSIL).
Os namespaces do System.Resources
contm

tipos

que

desenvolvedores

criar,

permitem
armazenar

aos
e

gerenciar recursos especficos cultura


System.Security

de um aplicativo.
Os namespaces

do

System.Security

contm classes que representam as


permisses e o sistema de segurana
System.Model

do .NET Framework.
Os namespaces do

System.Model

contm os tipos necessrios para criar


aplicativos

de

cliente

servio

do

18

System.ServiceProcess

Window Workflow Foundation.


Os
namespaces

do

System.ServiceProcess contm tipos que


permitem

implementar,

instalar

controlar aplicativos de servio Windows,


bem como oferecem suporte em tempo
de design estendido a aplicativos de
System.Speech

servio Windows.
Os namespaces

do

System.Speech

contm tipos que oferecem suporte ao


System.Text

reconhecimento de fala.
Os namespaces do System.Text contm
tipos para codificao de caracteres e
manipulao de cadeias de caracteres.
Um namespace filho permite a voc
processar

System.Threading

usando

expresses

regulares.
Os namespaces do System.Threading
contm

System.Timers

texto

tipos

que

permitem

programao multithreaded.
O namespace System.Timers fornece o
componente Timer, que permite acionar

System.Transactions

um evento em um intervalo especificado.


Os namespaces do System.Transactions
contm tipos que oferecem suporte a
transaes

com

vrios

participantes

distribudos, vrias notificaes de fase e


System.Web

inscries durveis.
Os namespaces do System.Web contm
tipos que permitem a comunicao entre
o

navegador

servidor.

Os

namespaces filho incluem tipos que


oferecem suporte autenticao de
formulrios

ASP.NET,

servios

de

aplicativo, armazenamento de dados em

19
cache

no

servidor,

configurao

de

aplicativos ASP.NET, dados dinmicos,


manipuladores HTTP, serializao JSON,
incorporando

recursos

AJAX

ao

ASP.NET, segurana ASP.NET e servios


System.Windows

Web.
Os namespaces do System.Windows
contm tipos usados em aplicativos
Windows

Presentation

Foundation

(WPF), incluindo clientes de animao,


controles

de

interface

de

usurio,

associao de dados e converso de


tipos. O System.Windows.Forms e seus
namespaces

filho

so

usados

para

desenvolver aplicativos de Formulrios


System.Workflow

do Windows.
Os namespaces do System.Workflow
contm tipos usados para desenvolver
aplicativos que usam o Window Workflow
Foundation.

Esses

tipos

fornecem

suporte em tempo de design te tempo de


execuo para regras e atividades, para
configurar, controlar, hospedar e depurar
o mecanismo de tempo de execuo de
System.Xaml

fluxo de trabalho.
Os namespaces do System.Xaml contm
tipos que oferecem suporte anlise e

System.Xml

ao processamento da linguagem XAML.


Os namespaces do System.Xml contm
tipos para processamento de XML. Os
namespaces filho oferecem suporte
serializao de fluxos ou documentos
XML, esquemas XSD, XQuery 1.0 e
XPath 2.0 e LINQ to XML, uma interface
de programao XML na memria que

20
permite
Accessibility

fcil

modificao

de

documentos XML.
O Accessibility e todos os seus membros
expostos fazem parte de um wrapper
gerenciado

para

acessibilidade
Microsoft.Activities

do

interface

modelo

componente (COM).
Os
Microsoft.Activities
contm

tipos

que

de

de

objeto

namespaces

oferecem

suporte

MSBuild e depurador extenses para


aplicativos
Microsoft.Aspnet.Snapin

do

Windows

Workflow

Foundation.
O namespace Microsoft.Aspnet.Snapin
define os tipos necessrios para o
aplicativo Console de Gerenciamento do
ASP.NET interagir com o Console de

Microsoft.Build

Gerenciamento Microsoft (MMC).


Os namespaces do Microsoft.Build
contm

tipos

que

fornecem

acesso

programtico ao mecanismo MSBuild,


Microsoft.CSharp

alm de fornecer o controle dele.


Os namespaces do Microsoft.CSharp
contm tipos que oferecem suporte
compilao e gerao de cdigo-fonte
gravados em C#, bem como tipos que
oferecem suporte interoperao entre o

Microsoft.Data.Entity.Build.Tasks

DLR e a linguagem C#.


O
Microsoft.Data.Entity.Build.Tasks
espao para nome contm duas tarefas
do MSBuild usados pelo ADO.NET Entity
Data

Microsoft.JScript

Model

Designer

entidade).
Os namespaces

do

(Designer

de

Microsoft.JScript

contm classes que oferecem suporte


compilao e gerao de cdigo

21

Microsoft.SqlServer.Server

usando a linguagem JScript.


O
Microsoft.SqlServer.Server
namespace contm classes, interfaces
e enumeraes que so especficas
para a integrao do Microsoft.NET
Framework
runtime

common

(CLR)

de

language

Microsoft

SQL

Server e o ambiente de execuo de


processo de mecanismo do SQL Server
Microsoft.VisualBasic

de banco de dados.
Os namespaces do Microsoft.VisualBasic
contm classes que oferecem suporte
compilao e gerao de cdigo

Microsoft.VisualC

usando a linguagem Visual Basic.


Os namespaces do Microsoft.VisualC
contm tipos que oferecem suporte ao
compilador C++ e tipos que implementam
a biblioteca STL/CLR e a sua respectiva

Microsoft.Win32

interface genrica.
Os namespaces do

Microsoft.Win32

fornecem tipos que tratam os eventos


gerados

pelo

sistema

operacional,

manipulam o Registro do sistema e


representam tratamentos dos sistemas
Microsoft.Windows

operacional e de arquivos.
Os
namespaces
Microsoft.Windows
contm tipos que oferecem suporte a
temas e visualizao em aplicativos do
Windows

Presentation

Framework

UIAutomationClientsideProviders

(WPF).
Contm um tipo nico que mapeia

XamlGeneratedNamespace

provedores clientes de automao.


Contm tipos gerados pelo compilador
que no se destinam a serem usados
diretamente em seu cdigo.

Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/gg145045.aspx

22

1.8

ESTRUTURAS E TECNOLOGIAS DE DESENVOLVIMENTO


Com os adventos do .Net Framework com sua biblioteca de classes e

com uma gama de ferramentas de desenvolvimento e interao com dados, a


tecnologia .net esta cada vez mais sendo difundida, visto as facilidades
implementadas, que vem a contribuir de maneira significativa no ciclo de vida
do desenvolvimento de softwares.
Ao estabelecer critrios de estrutura e tecnologias de desenvolvimento,
a tecnologia .net apresenta-se de maneira satisfatria, pois consegue aliar o
melhor de dois mundos o da orientao a objetos e de banco de dados
relacional.
Sobre as estruturas vale a pena citar alm da biblioteca de classes
apresentada no Quadro n 2, e outras funcionalidades como os recursos web
do Asp.Net 4.5

24

que nesta verso traz suporte a funcionalidades de novos

tipos de formulrio HTML 5

25

, e recursos de rede, como nova interface de

programao para aplicativos HTTP 26, dentre varias outras.


J sobre as tecnologias de desenvolvimento, possui vrias ferramentas
em constantes evolues, isso a exemplo do da ide

27

Visual Studio 2012 e o

SQLServer 2012, ambos disponveis em verses comerciais que possui maior


nmeros de funcionalidades ou Express que so verses gratuitas que
diferentes das verses comerciais no contemplam todas as funcionalidades
causando uma certa limitao.
Segundo consta em material contido no site da Microsoft:
Visual Studio um conjunto completo de ferramentas para
desenvolvimento e construo de aplicativos Web ASP.NET, XML
Web Services, aplicaes desktop e aplicaes mveis. Visual
Basic, Visual C++, Visual C#, e Visual J# usam todos o mesmo
ambiente de desenvolvimento integrado (IDE), que permite que eles
compartilhem ferramentas facilitando a criao de solues em
24

A sintaxe ASP.NET define a estrutura, o layout e as configuraes de uma pgina ASP.NET.

25

HTML uma abreviao de Hypertext Markup Language - Linguagem de Marcao de


Hypertexto. (Viso geral do HTML5)
26

O Hypertext Transfer Protocol (HTTP) o protocolo usado para se comunicar pela rede
mundial de computadores. (HTTP: The Definitive Guide).
27

Ambiente de desenvolvimento integrado.

23
linguagens mistas. Alm disso, estas linguagens potencializam a
funcionalidade do .NET Framework, que fornece acesso s
tecnologias-chave que simplificam o desenvolvimento de aplicaes
Web
ASP
e
XML
Web
Services.

A verso mais atual do Visual Studio a 2013, mas a verso


estvel a verso 2012.
J o SQL Server em sua verso mais recente a 2012, conta com
mecanismo alta disponibilidade e recuperao de desastres atravs do
AlwaysOn e grupos de disponibilidades, AlwaysOn que um recurso que
garante que o dispositivo mantenha a conexo dados depois que o mesmo
estabelece conexo, sendo aplicvel em todas as conexes , armazenamento
em memria xVelocity

28

para um desempenho extremo de consultas e

explorao rpida de dados, business inteligence

29

escalonvel atravs do

Power View 30, e gerenciamento de dados Data Quality Services 31.


Segundo material instrucional contido no site da Microsoft, o SQL
Server um sistema de gerenciamento e anlise de banco de dados para
solues de comrcio eletrnico, linha de negcios e data warehouse 32.
O Visual Studio e Sql Server so apenas duas das diversas
ferramentas disponveis para o seguimento de desenvolvimento de software
com a tecnologia .net, visto a gama de opes de ferramentas disponveis
anteder as mais diversas necessidades encontradas durante o ciclo de vida de
desenvolvimento de softwares.

28

Um ndice columnstore xVelocity de memria otimizada agrupa e armazena dados para


cada coluna e une todas as colunas para concluir o ndice inteiro. (ndice columnstore).
29

SQL Server Business Intelligence Development Studio um ambiente de


desenvolvimento que voc usa para criar pacotes do SSIS. Normalmente, um pacote SSIS
contm itens como gerenciadores de conexo, provedores de log e tarefas de fluxo de dados.
(SQL Server Business Intelligence Development Studio)
30

O Power View uma experincia interativa em explorao, visualizao e apresentao de


dados que encoraja o relatrio ad-hoc intuitivo. (Power View)
31

um recurso de instncia do SQL Server que consiste em trs catlogos do SQL Server
com funcionalidade de qualidade de dados e armazenamento. (Data Quality Services)
32

um armazm de dados tradicional consiste em um banco de dados relacional, organizados


em um esquema em estrela aproximado e um banco de dados OLAP criado sobre o banco de
dados relacional. (Noes bsicas sobre a arquitetura do dados warehouse)

24
1.9

INTEROPERABILIDADE DE LINGUAGEM
Devido ampla variedade de ferramentas e tecnologias utilizadas

pelos desenvolvedores e pelas suas particularidades e tipos diferentes, ficou


cada vez mais difcil assegurar a interoperabilidade de linguagem, porm
compiladores de linguagens e ferramentas que visam o beneficio do Common
Language Runtime, onde se beneficiam do suporte do tempo de execuo
interno para a interoperabilidade de linguagem.
A interoperabilidade de linguagem capacidade do cdigo escrito em
uma linguagem poder interagir com cdigo escrito em outra linguagem, com
isso aumentando a reutilizao de cdigo e a eficincia do processo de
desenvolvimento.
O Common Language Runtime serve de base para interoperabilidade
de linguagem, de maneira a especificar e foar um Common Type System e
provendo metadados, logo todas as linguagens que visam o tempo de
execuo seguem as regras do Common Type System para definir e usar os
tipos.
Conforme contedo disposto nas referencias do .Net Framework no
site da Microsoft :
Metadados permitem a interoperabilidade de linguagem definindo um
mecanismo uniforme para armazenar e recuperar informaes sobre
os tipos. Compiladores armazenam informaes de tipo como
metadados, e o Common Language Runtime usa essas
informaes para fornecer servios durante a execuo; o Runtime
pode gerenciar a execuo de aplicativos multilinguagem porque
todas as informaes de tipo so armazenadas e recuperadas da
mesma maneira, independentemente do idioma que cdigo foi
escrito.

O gerenciamento feito pelo suporte Runtime para interoperabilidade de


linguagem trazem alguns benefcios nos modos de tipos, depuradores e
tratamento de exceo.
Conforme contedo disposto nas referencias do .Net Framework no
site da Microsoft :

Tipos podem herdar implementao de outros tipos, passar


objetos para outros tipos de mtodos e chamar mtodos
definido em outros tipos, independentemente da linguagem
em que os tipos so implementados.
Depuradores, criadores de perfil ou outras ferramentas so
necessrias para compreender somente um ambiente - a

25

linguagem intermediria comum (CIL) e metadados para o


common language runtime - e podem suportar qualquer
linguagem de programao que atinge o tempo de execuo.
O tratamento de exceo consistente em linguagens. Seu
cdigo pode gerar uma exceo em uma linguagem e essa
exceo pode ser interceptada e compreendida por um objeto
escrito em outra linguagem.

Apesar de que Runtime fornea suporte a todo cdigo dirigido para


executar em um ambiente de multilinguagem, no h nenhuma garantia da
funcionalidade dos tipos, isso por que cada compilador de linguagem utilizando
Runtime usa seu sistema de tipos e metadados, de maneira a oferecer suporte
a seu prprio conjunto exclusivo de recurso.
No caso das implementaes feitas sobre as especificaes do .Net
Framework, utiliza-se do recursos bsicos implementados pelo CLS (Common
Language Specification), isso de maneira a garantir que o seu cdigo
gerenciado seja acessvel a outros desenvolvedores usando outras linguagens.
O CLS (Common Language Specification) descreve um conjunto
de recursos bsicos e define regras de como esses recursos so usados.
Segundo consta em material contido no site da Microsoft:
As regras CLS definem um subconjunto do Common Type System;
ou seja, todas as regras que se aplicam ao CTS se aplicam ao CLS,
exceto onde regras mais rgidas so definidas no CLS. O CLS ajuda a
aperfeioar e a garantir a interoperabilidade de linguagem definindo
um conjunto de recursos nos quais os desenvolvedores podem
confiar por estarem disponveis em uma variedade de linguagens. O
CLS tambm estabelece requisitos para a compatibilidade com CLS;
estes ajudam voc a determinar se seu cdigo gerenciado est de
acordo com o CLS e em que medida uma determinada ferramenta
suporta o desenvolvimento de cdigo gerenciado que usa recursos
CLS.

1.10

COMPATIBILIDADE DE VERSO
A compatibilidade de verso significa que um determinado aplicativo

desenvolvido para uma verso especifica de uma plataforma ser executada


em verses posteriores, logo o .Net Framework tenta maximizar a
compatibilidade com verses anteriores, sendo que um cdigo-fonte gravado
para uma verso do .Net Framework possa executar em verses posteriores,
assim tambm como os binrios que executados em verses anteriores se
comportem de forma idntica em verses posteriores do .Net framework.

26
Conforme contedo disposto nas referencias do .Net Framework no
site da Microsoft :
O .NET Framework 4.5 retrocompatvel com aplicativos que foram
criados com as verses 1.1, 2.0, 3.0, 3.5, e 4 do .NET Framework.
Em outras palavras, aplicativos e componentes criados com verses
anteriores do .NET Framework funcionaro em .NET Framework 4.5.
No entanto, por padro, aplicativos so executados na verso do
common language runtime para que foram desenvolvidos, ento
possvel que voc tenha de fornecer um arquivo de configurao para
permitir que seu aplicativo seja executado no .NET Framework 4.5.

J a compatibilidade de verso de componente ocorre de maneira


diferente, pois neste caso vale ressaltar que um aplicativo controla a verso do
.Net Framework no qual esta sendo executado, j os componentes no, e
devido a essa limitao, garantias de compatibilidade para os componentes
so especialmente importantes. A partir da verso do .Net Framework 4 e do
advento do System.Runtime.Versioning.ComponentGuaranteesAttribute,33
tornou-se possvel especificar o grau que um componente esperado ser
compatvel, visto que as ferramentas podem usar desse atributo para detectar
potenciais

violaes futuras de

compatibilidade

nas

verses de

um

componente.
Conforme material instrucional contido no site da Microsoft, deve ser
feito testes em seus aplicativos e componentes do .NET Framework para
garantir que sejam compatveis com outras verses do .NET Framework.
1.11

EXECUO LADO A LADO


Segundo consta em material contido no site da Microsoft, a execuo

lado a lado a capacidade de executar vrias verses de um aplicativo ou


componente no mesmo computador.
Devido a esta capacidade, possibilita ter varias verses do tempo de
execuo em tempo de linguagem comum, varias verses de aplicativos e
componentes que usam de uma verso do tempo de execuo, no mesmo
computador ao mesmo tempo.

33

Conforme contedo disposto nas referencias do .Net Framework no site da


Microsoft , define a compatibilidade de um componente, tipo ou membro de tipo

que abranger varias verses.

27
Nas ilustraes a seguir mostram as duas situaes citadas de
execuo lado a lado: a de aplicativos e componentes.

Figura 3 - Execuo lado a lado de duas verses do tempo de execuo.

28

Figura 4 - Execuo lado a lado de duas verses de um componente.

Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/8477k21c.aspx

Na figura n 1, apresenta vrios aplicativos usando duas verses


diferentes do tempo de execuo no mesmo computador, onde os aplicativos
A, B e C usam a verso 1.0 e aplicativo D usa a verso 2.0 do tempo de
execuo.
Segundo consta em material contido no site da Microsoft:
O .NET Framework consiste no tempo de execuo da
linguagem comum e aproximadamente duas dzias de
assemblies34 que contm os tipos de API. O tempo de
34

Segundo consta em material contido no site da Microsoft, uma coleo de tipos e


recursos que formam uma unidade lgica de funcionalidade.

29
execuo e os assemblies do .NET Framework so visionados
separadamente.

J a figura n 2, apresenta duas verses de diferentes de determinado


componente no mesmo computador, onde os aplicativos A e B usam a verso
1.0 do componente e o aplicativo C usa a verso 2.0 do mesmo componente.
Segundo consta em material contido no site da Microsoft, a execuo
lado a lado confere mais controle sobre a quais verses de um componente um
aplicativo est associado, e mais controle sobre qual verso do tempo de
execuo um aplicativo usa.
Antes do Windows XP

35

e do .Net Framework, ocorria conflitos de

DLL36, isso porque os aplicativos no conseguiam distinguir entre verses


incompatveis do mesmo cdigo, pois as informaes a respeito de uma DLL
estava associada apenas a seu nome e assim no sendo possvel a um
aplicativo saber se os tipos contidos em uma DLL tratava-se dos mesmos tipos
com quais o aplicativos havia sido criado, e devido isso acaba que por
interromper o pleno funcionamento do aplicativo.
A execuo lado a lado e o .Net Framework fornecem alguns recursos
para eliminar conflitos de DLL, que so os seguintes: assemblies de nomes
fortes, armazenamento de cdigo forte ciente de verso e isolamento.

Assemblies de nomes fortes: usado para associar um tipo a


uma verso especifica do assembly, com isso impedindo que um
componente ou aplicativo associe-se com uma verso invalida
de um assembly, um nome forte consiste na identidade do
assembly, seu nome de texto simples, nmero de verso, e
informao de cultura (isso se fornecido), alm da chave pblica
37

e uma assinatura digital38.

Armazena um cdigo ciente de verso: Conforme contedo


disposto nas referencias do .Net Framework no site da Microsoft,

35

36

um Sistema Operacional criado pela empresa Microsoft.

Segundo consta em material contido no site da Microsoft, uma biblioteca de


vnculo dinmico (DLL) um arquivo executvel que atua sistema autnomo uma biblioteca
compartilhada de funes.
37

38

30
o .NET Framework fornece armazenamento de cdigo ciente de
verso no cache de assemblies global
armazenar

39

. De maneira a

assemblies baseados em verses, cultura e

informaes do editor, e suporta varias verses de componentes


e aplicativos.

Isolamento: Conforme contedo disposto nas referencias


do .Net Framework no site da Microsoft, o isolamento um
componente essencial da execuo lado a lado, pois com o
isolamento possvel criar aplicativos ou componentes no
isolamento, alm de estar ciente dos recursos que esta sendo
usado possvel compartilhar recursos com confiana entre
varias verses de um aplicativo ou componente. O isolamento
armazena arquivos em uma maneira de verso especifica.

1.12

MULTIPLATAFORMA
A partir do direcionamento da biblioteca de classes porttil do .Net

Framework, possvel criar assemblies que funcionam em varias plataformas


do .Net Framework, como o Windows 7, Windows 8, Windows Phone 7 e o
Xbox 360, com o projeto de biblioteca de classes porttil, tem-se ganhos em
horas e custos de desenvolvimento e dos testes de cdigo, criando assemblies
portteis que so compartilhados entre apps 40 para dispositivos diferentes.
Segundo consta em material contido no site da Microsoft, o projeto de
Biblioteca

de

Classes

Porttil

em

Visual

Studio

2012

suporta

desenvolvimento da plataforma cruzada de aplicativos do .NET Framework.


No entanto para que fosse possvel o desenvolvimento de plataformas
cruzadas, alguns tipos do .Net Framework 4 e membros foram modificados
para uso na biblioteca de classes porttil.
Mas caso no utilize da biblioteca de classes porttil, necessrio
criar de maneira a selecionar um nico tipo de aplicativo e, em seguida
manualmente a biblioteca de classes para os outros de tipos de aplicativos.
39
Segundo consta em material contido no site da Microsoft, cada computador onde o
Common Language Runtime est instalado tem um cache de cdigo da mquina chamado de
Cache Global de Assemblies.
40

31
Sobre os recursos presentes na biblioteca de classes porttil, destacamse os seguintes: os pr-requisitos, plataforma de destino, recursos suportados
e tipos e membros suportados.

Pr-requisitos: Para seu efetivo uso, passa por duas especificaes,


com ou sem o visual studio 2012 como seu ambiente. Para primeira
situao basta apenas desenvolver o projeto, pois o que se necessita j
encontra-se disponvel, j sobre a segunda situao ter que fazer uso
do instalador PortableLibraryTools.exe, que encontra-se disponvel para
download no site da Microsoft.

Plataforma de destino: So as plataformas disponveis para o


desenvolvimento, na figura n 3 apresenta as plataformas e suas
respectivas verses.

Figura 5 - Plataformas de destino.


Fonte: http://msdn.microsoft.com/pt-BR/library/vstudio/gg597391.aspx#abstraction.

Recursos suportados: De com acordo com as plataformas


selecionadas em projeto de biblioteca de classes porttil, os
assemblies so referenciados de maneira automtica no projeto,
no sendo necessrio especifica-las em caso de adio ou
remoo de plataformas.

Segundo consta em material contido no site da Microsoft:

32
Utiliza apenas .NET Framework 4.5 e .NET para aplicativos
da Windows Store41, tem acesso a um conjunto de mdulos
(assemblies) muito maior do que est disponvel em outras
combinaes da plataforma. Esse conjunto maior de mdulos
(assemblies) quase idntico a .NET para aplicativos da
Windows Store, mas no inclui as classes no espao para
nome de Windows.UI.Xaml42.

Tipos e membros suportados: Segundo consta em material


contido no site da Microsoft, devem fazer sentido em um
ambiente porttil, especialmente quando os membros de suporte
no so portveis.

41

42

4 REFERNCIA
Gerenciamento

Automtico

De

Memria.

Disponvel

em:

<http://msdn.microsoft.com/pt-br/library/vstudio/f144e03t.aspx> Acesso em: 22


jun. 2013.
HUBBARD, JOHN R., Programao em C++, 2000, Disponvel em: <
http://books.google.com.br/books?
id=St3VfM1ESggC&printsec=frontcover&dq=Programa
%C3%A7%C3%A3o+em+C%2B%2B&hl=ptBR&sa=X&ei=DhjJUarPBsjO0QGF3IDYAQ&ved=0CEQQ6AEwBA>
Stack

(Pilha).

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/aa908997.aspx> Acesso em: 24 jun. 2013.


Compilador

Just-In-Time

(JIT).

Disponvel

em:

<http://support.microsoft.com/kb/154580/pt> Acesso em: 25 jun. 2013.


Mtodo IDisposable.Dispose. Disponvel em: <http://msdn.microsoft.com/ptbr/library/vstudio/system.idisposable.dispose.aspx> Acesso em: 25 jun. 2013.
Common

Type

System.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/zcx1eb1e.aspx#characteristics_of_type_members>

Acesso

em: 02 jul. 2013.


HICKSON, ROSANGELA, Aprenda a Programar em C, C++, C#, 2005,
Disponvel

em:

<http://books.google.com.br/books?

id=phxP6FTc0p4C&pg=PA169&dq=poo+objeto&hl=ptBR&sa=X&ei=DUEWUretK6Lo2QWRxYH4AQ&ved=0CDcQ6AEwAQ#v=onepa
ge&q=poo%20objeto&f=false> Acesso em: 22 ago. 2013.
Mtodos

(guia

de

programao

do

C#).

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/vstudio/ms173114.aspx> Acesso em: 22


ago. 2013.
Propriedades

(guia

de

programao

do

C#).

Disponvel

em:

<http://msdn.microsoft.com/pt-br/library/vstudio/x9fsa0sw.aspx> Acesso em: 22


ago. 2013.
Eventos

(guia

de

programao

do

C#).

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/vstudio/awbftdfh.aspx> Acesso em: 22


ago. 2013

34
Classe

Object.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/system.object(v=vs.100).aspx> Acesso em: 22 ago. 2013.


Classe

Enum.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/system.enum.aspx> Acesso em: 28 ago. 2013.


Indexadores

(guia

de

programao

do

C#).

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/vstudio/6x16t2tx.aspx> Acesso em: 28


ago. 2013.
Interface (referncia de C#). Disponvel em: <http://msdn.microsoft.com/ptbr/library/vstudio/87d83y5b.aspx> Acesso em: 31 ago. 2013.
Delegado (referncia C#). Disponvel em: <http://msdn.microsoft.com/ptbr/library/900fyy8e%28v=vs.90%29.aspx> Acesso em: 05 set. 2013.
Mtodos

annimos

analise

de

cdigo.

Disponvel

em:

<http://msdn.microsoft.com/pt-br/library/bb514189%28v=vs.90%29.aspx>
Acesso em: 05 set. 2013.
Classe

Delegate.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/system.delegate.aspx> . Acesso em: 05 set. 2013.


LEITE, MARIO, Tcnicas de Programao Uma Abordagem Moderna, 2006.
Disponvel

em:

<

http://books.google.com.br/books?

id=H8A0lZtqaXsC&pg=PA42&dq=%22+dados+primitivos+s%C3%A3o
%22&hl=ptBR&sa=X&ei=m00pUuz7EYrQ8QSp64CwAQ&ved=0CFAQ6AEwBQ#v=onepag
e&q=%22%20dados%20primitivos%20s%C3%A3o%22&f=false> Acesso em:
05 set. 2013.
Classe

Attribute.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/system.attribute.aspx> Acesso em: 09 set. 2013.


Public

(referncia

C#).

Disponvel

em:

<

http://msdn.microsoft.com/pt-

br/library/yzh058ae%28v=vs.80%29.aspx> Acesso em: 09 set. 2013.


Nveis

de

acessibilidade

(referncia

C#).

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/ba0a1yw2%28v=vs.90%29.aspx>
Acesso em: 09 set. 2013.
Como: determinar se um arquivo um Assembly (C# e Visual Basic).
Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/ms173100.aspx> Acesso em: 09 set. 2013.

35
Private

(C#

Referncia).

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/st6sy9xe%28v=vs.100%29.aspx> Acesso em: 09 set. 2013.


Nomes

de

Tipos.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/h35y5xkc.aspx> Acesso em: 11 set. 2013.


Declaraes.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/sc8yf29y.aspx> Acesso em: 11 set. 2013.


Resumos de C++ declaradores. Disponvel em: < http://msdn.microsoft.com/ptbr/library/vstudio/92ddtf6h.aspx> Acesso em: 11 set. 2013.
Estrutura

byte.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/vstudio/system.byte.aspx> Acesso em: 11 set. 2013.


Namespace (referncia de C#). Disponvel em: < http://msdn.microsoft.com/ptbr/library/vstudio/z2kcy19k.aspx> Acesso em: 11 set. 2013.
Definies

de

tipo.

Disponvel

em:

<

http://msdn.microsoft.com/pt-

br/library/vstudio/zcx1eb1e.aspx> Acesso em: 11 set. 2013.


Compilao

MSIL

para

cdigo

nativo.

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/ht8ecch6%28v=vs.90%29.aspx> Acesso
em: 16 set. 2013.
Processo

de

execuo

gerenciada.

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/vstudio/k5532s8a.aspx> Acesso em: 16


set. 2013.
Bibliotecas

de

classes

.Net

Framework.

Disponvel

em:

<http://msdn.microsoft.com/pt-br/library/vstudio/gg145045.aspx> Acesso em: 19


set. 2013.
COULOURIS, GEORGE; DOLLIMORE, JEAN; KINDBERG, TIM. Sistemas
Distribudos

Conceitos

Projeto,

2007.

Disponvel

em:

<

http://books.google.com.br/books?id=qtiJgSXV1wwC&pg=PA142&dq=o+que+
%C3%A9+xml&hl=ptBR&sa=X&ei=0nM6Urf6HpLa8wTlkoEg&ved=0CD0Q6AEwATgK#v=onepage&
q=o%20que%20%C3%A9%20xml&f=false> Acesso em: 19 set. 2013.
Viso

geral

do

HTML5.

Disponvel

em:

<http://www.w3c.br/cursos/html5/conteudo/capitulo1.html> Acesso em: 24 set.


2013.

36
Gourley, David; Totty, Brian. HTTP: The Definitive Guide, 2002. Disponivel em:
<

http://books.google.com.br/books?

id=qEoOl9bcV_cC&printsec=frontcover&dq=http&hl=ptBR&sa=X&ei=s1RCUp2uC4q88ATrhICQDw&ved=0CDgQ6AEwAQ#v=onepage
&q=http&f=false> Acesso em: 24 set. 2013.
Microsoft

SQL

Server.

Disponvel

em:

<

http://msdn.microsoft.com/pt-

br/library/bb545450.aspx> Acesso em: 25 set. 2013.


Noes bsicas sobre a arquitetura do dados warehouse. Disponvel em: <
http://msdn.microsoft.com/pt-br/library/ms244687%28v=vs.90%29.aspx>
Acesso em: 25 set. 2013.
ndice

columnstore.

Disponvel

em:

<

http://msdn.microsoft.com/pt-

br/library/gg492088.aspx> Acesso em: 25 set. 2013.


SQL Server Business Intelligence Development Studio. Disponvel em:
<http://support.microsoft.com/kb/908018/pt-br> Acesso em: 25 set. 2013.
Power View. Disponvel em: <http://office.microsoft.com/pt-br/excel-help/powerview-explore-visualize-e-apresente-seus-dados-HA102835634.aspx?CTT=1>
Acesso em: 25 set. 2013.
Metadados

Componentes

Autodescritivos.

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/vstudio/xcd8txaw.aspx> Acesso em: 25


set. 2013.
Interoperabilidade

de

Linguagem.

Disponvel

em:

<http://msdn.microsoft.com/pt-br/library/vstudio/a2c7tshk.aspx> Acesso em: 25


set. 2013.
Especificao

da

linguagem

comum.

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/vstudio/12a7a7h3.aspx> Acesso em: 25


set. 2013.
Compatibilidade

de

Verso

no

.Net

Framework.

Disponvel

em:

<

http://msdn.microsoft.com/pt-br/library/vstudio/ff602939.aspx> Acesso em: 3


out. 2013.
.Classe

ComponentGuaranteesAttribute.

Disponvel

em:<

http://msdn.microsoft.com/ptbr/library/vstudio/system.runtime.versioning.componentguaranteesattribute.asp
x> Acesso em: 3 out. 2013.

37
Execuo

lado

lado

no

.Net

Framework.

Disponvel

em

<

http://msdn.microsoft.com/pt-br/library/vstudio/8477k21c.aspx> Acesso em: 4


out. 2013.
Assemlies.

Disponvel

em:

<http://msdn.microsoft.com/en-

us/library/ms973231.aspx> Acesso em: 4 out. 2013.


DLL.

Disponvel

em:

<http://msdn.microsoft.com/pt-

br/library/1ez7dh12%28v=vs.90%29.aspx> Acesso em: 4 out. 2013.


Cache Global de Assemblies. Disponvel em:<http://msdn.microsoft.com/ptbr/library/vstudio/yf1d93sz.aspx> Acesso em: 4 out. 2013.