Olá pessoal, neste artigo veremos os conceitos e exemplos da Namespaces. Acompanhem:

O crescimento de um programa implica nos seguintes problemas:

 - Quanto maior a quantidade de código existente, mais difícil a sua compreensão.

 - Com uma grande quantidade de código, costumamos trabalhar com mais nomes (classes, métodos e dados nomeados). Isso pode acabar provocando um conflito entre dois ou mais nomes, e, consequentemente, gerar uma falha de desenvolvimento. Esse conflito é mais provável de acontecer quando o programa usa bibliotecas de terceiros.

 Uma forma de corrigir conflitos de nomes é usar prefixos com algum tipo de qualificador ou um conjunto de qualificadores. Mais há uma desvantagem quanto a este procedimento, já que os nomes tendem a ficar muito extensos, o que faz com que os programadores percam mais tempo para digitar, ler e reler nomes extensos e incompreensíveis do que para desenvolver o próprio software. Assim, podemos concluir que este método não é escalonável (muito menos aconselhável).

 Já, se usarmos namespaces, o conflito de nomes é resolvido. Cria-se um contêiner nomeado para outros identificadores, como classes. Com duas classes de mesmo nome, mas cada uma localizada em um namespace diferente, não haverá conflito entre elas.

 Veja os exemplos abaixo:

 - a classe StringBuilder, usada para trabalhar na manipulação de strings, encontra-se no namespace System.Text. Seu nome completo é System.Text.StringBuilder.

 - a classe Calendar, usada para trabalhar com divisões de tempo, se encontra no namespace System.Globalization. Portanto seu nome completo é System.Globalization.Calendar.

 - a classe SqlConnection, usada para estabelecer uma conexão com o banco de dados SQL Server, encontra-se no namespace System.Data.SqlClient, portanto, seu nome completo é System.Data.SqlClient.SqlConnection, entre outros exemplos...

 Perceba que o uso do namespace facilita o aprendizado de outras classes relacionadas ao mesmo assunto, já que o namespace System.Data.SqlClient por exemplo agrupa todas as classes relacionadas ao SQL Server e assim por diante.

  O comando using pode ser usado para especificar uma classe sem precisar especificar o namespace ao qual ela pertence como podemos ver no exemplo abaixo, em que a classe Console, que pertence ao namespace System, está sendo usada:

using System;

 

namespace ExemploNamespace

{

    public class Pessoa

    {

        void Main()

        {

            Console.WriteLine("Teste com using importado");

        }

    }

}

 Sem o comando using, o código ficaria assim:

public class Pessoa

    {

        void Main()

        {

            System.Console.WriteLine("Teste sem using importado");

        }

    }

 Lembrando que podemos adicionar, em qualquer momento posterior, a diretiva using em nosso código-fonte.

Fonte de Consulta: Apostila de C#, da Impacta Tecnologia.

 Assim finalizo o artigo. Muito obrigado a todos!

 Um abraço, e até o próximo artigo.

 Wellington Balbo de Camargo

 wellingtonbalbo@gmail.com