CSharp - Dividir o código por DLL
Uma das formas de dividir e organizar o código pode ser pela criação de DLL, e estes podem ser aproveitados para vários projectos.
A criação de Bibliotecas DLL (biblioteca de vínculo dinâmico microsoft) pode ser uma forma de dividir e organizar o código. As DLL funcionam como um módulo externo, um conjunto de código que se coloca num ficheiro diferente do principal.
Com esta organização podemos também reaproveitar o código das DLL para outros projectos. Por exemplo uma biblioteca semelhante à apresentada no exemplo pode servir para vários projectos de engenharia.
Existem muitos assuntos relacionados com as DLL nos quais não vamos entrar aqui, inclusive o uso de DLL programadas em linguagens diferentes.
Exemplo:
O caso presente envolve dois ficheiros, um como se fosse o código principal, e um secundário que contém o código para a DLL.
teste_ang.cs é o ficheiro principal
ConverteAngulosDLL.cs é o ficheiro que vai dar origem ao DLL
(os nomes podem ser outros e não tem de ter DLL no nome, este foi apenas um exemplo)
Esquema de funcionamento |
Na esquerda o ficheiro que vai dar origem ao DLL, não informação sobre o ficheiro principal ou algum dos seus métodos como é lógico. Este pode servir para múltiplos usos como referimos antes.
Na direita o ficheiro principal, este sim faz referencia ao DLL. Logo na uso da directiva using para importar os namespaces do DLL.
using Angulos vai importar o namespace do ficheiro DLL.
Depois temos de usar o prefixo como propriedade, da classe que queremos usar. No caso usamos Converte seguido do método que usaremos.
Converte.GrausGrados(200.001) dá acesso à classe Converte e ao método GrausGrados tudo isto no namespace Angulos do ficheiro DLL.
Entendido isto, é apenas código, para que tudo funcione temos de compilar, primeiro a DLL e depois o executável com a referência à DLL.
Como estou a usar o Mono para Linux (.net framework Mono) os comandos a seguir são diferentes na chamada ao compilador do que seriam no Windows.
mcs /target:library /out:ConverteAngulos.dll /recurse:ConverteAngulosDLL.cs mcs /out:teste_ang.exe /reference:ConverteAngulos.dll /recurse:teste_ang.cs mono teste_ang.exe
A primeira linha chama o ficheiro de texto e compila para uma biblioteca (/target:library).
A segunda linha compila para executável, mas tem menção à bilioteca criada no passo anterior (/reference:ConverteAngulos.dll).
A terceira linha é apenas um comando para executar o programa.
Espero que seja útil.
Comentários
Enviar um comentário
Obrigado pelo seu contacto.