Boa noite, pessoal! Blz?
Este é o quinto post da série introdução ao .Net Framework. Será uma curta publicação falando sobre namespace e assemblie.
Para quem não leu as outras publicações, recomendo que leiam, segue os link`s:
1 - Introdução ao .Net Framework - Parte 1 - Do que é composto, compialçao.
2 - Introdução ao .Net Framework - Parte 2 - CLR, CTS, FCL, CLS.
3 - Introdução ao .Net Framework - Parte 3 - Tipos.
4 - Introdução ao .Net Framework - Parte 4 - Conversão/Casting de tipos.
Namespace
Em alguma publicação dessa série eu havia comentando um pouco sobre namespace. Basicamente a usabilidade de um namespace se resume em realizar um agrupamento de tipos que se relacionam entre si. Parece pouco? Não pense assim! Imagine ter que procurar um tipo dentro de milhares de tipos sem ter namespaces como uma opção de filtro, seria terrível! Rs
Os namespace também são uma forma de deixar o nome de um tipo maior, deixando-o com uma probabilidade maior de ser único.
Veja no código abaixo o tipo System.Console.WriteLine sendo usado.
[sourcecode language="csharp"]
class MyClass
{
void Main()
{
System.Console.WriteLine("Alô mundo!");
}
}
[/sourcecode]
Imaginem uma aplicação que faça milhões de chamadas desse tipo, qualquer palavra a menos na chamada desse método seria de grande ajuda para o programador. Para ajudar nessa situação é possível utilizar a palavra chave Using. Veja o mesmo exemplo de código utilizando essa palavra chave.
[sourcecode language="csharp"]
using System;
class MyClass
{
void Main()
{
Console.WriteLine("Alô mundo!");
}
}
[/sourcecode]
No exemplo acima quando foi digitado Console.WriteLine o compilador não entendeu de primeira, para encontrar a classe Console e o método WriteLine o compilador foi até as diretivas Using declaradas no inicio da aplicação e as usou como prefixo até localizar sua correspondência. A palavra chave Using é opcional, você pode usar o nome completo do tipo se assim desejar sem nenhum problema.
Para desenvolver uma aplicação usamos várias referências a tipos que não foram implementados por nós. Mas aonde estão escritos esses tipos? A resposta é “nos Assemblies”.
Assemblies
Em uma linguagem menos formal assemblies são arquivos com códigos pré-compilados que podem ser lidos pelo runtime do .net Framework. Para utilizar o código existente dentro desses arquivos, antes, deve-se dizer ao compilador onde o arquivo está adicionando uma referência desse arquivo em sua aplicação. Depois de referenciar um assemblie em uma aplicação todos seus tipos estarão disponíveis.
É isso ae, espero que tenha sido útil para o conhecimento de alguém! Hehe
Até o próximo post!
Referências
Programação aplicada com Microsoft .Net Framework – Jeffrey Richter
Assemblies in the Common Language Runtime - http://msdn.microsoft.com/en-us/library/hk5f40ct(v=vs.90).aspx