Explorando los Fundamentos de .NET: MSIL, POO y Componentes Clave

Clasificado en Informática

Escrito el en español con un tamaño de 4,52 KB

Fundamentos de .NET

MSIL (Microsoft Intermediate Language)

Durante el proceso de compilación, el código fuente es tomado por el compilador del lenguaje utilizado y convertido, no directamente a código binario, sino a un lenguaje intermedio llamado Microsoft Intermediate Language (MSIL o IL).

Tanto el código MSIL como los metadatos generados se guardan en un fichero de tipo EXE o DLL, basado en la especificación tradicional de Microsoft para ficheros con formato ejecutable transportable.

Los compiladores de .NET no producen código máquina para ninguna CPU concreta, sino que crean código MSIL, similar al Java bytecode. Este código es el que ejecuta la máquina virtual.

Conceptos Clave de la Programación Orientada a Objetos (POO)

Namespace

Un namespace (espacio de nombres) es el medio proporcionado por la plataforma para organizar las clases dentro del entorno, agrupándolas de un modo más lógico y jerárquico. Ejemplo: System.Data (ADO, SQL, Design).

POO

La POO es una manera de construir software basada en un nuevo paradigma. Propone resolver problemas de la realidad a través de la identificación de objetos y relaciones de colaboración entre ellos. El objeto y el mensaje son fundamentales.

Constructor y Destructor

Son dos métodos de las clases que existen por defecto. El constructor inicia los valores, y el destructor libera recursos al finalizar la vida de una instancia de una clase creada en memoria.

Abstracción

La abstracción es la ignorancia selectiva, decide qué es importante y qué no lo es. Se enfoca en lo importante e ignora lo que no lo es, usando la encapsulación para reforzar la abstracción.

Herencia

La herencia es un tipo de relación entre clases:

  • Herencia Simple: La clase hija deriva de una única clase padre.
  • Herencia Múltiple: La clase hija deriva de varias clases padre.

Polimorfismo

El polimorfismo, como su nombre sugiere (múltiples formas), se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo interfaz. En la práctica, un mismo identificador puede tener distintas formas.

Encapsulamiento

El encapsulamiento es el ocultamiento de la información. Permite que los objetos no puedan cambiar el estado interno de otros objetos de maneras inesperadas.

Clase

Una clase es una declaración de objetos, también se puede definir como abstracciones de objetos. La definición de un objeto es la clase. La clase es una construcción estática que describe un comportamiento común y atributos. Los métodos son los que definen el comportamiento. Los objetos son instancias de una clase.

Componentes Clave de .NET

Class Loader

El Class Loader es responsable de cargar en memoria el código necesario para ser ejecutado. Además, analiza los metadatos de cada ensamblado con el objetivo de proveer la información requerida para la ejecución.

IL to Native Compilers

Al momento de ejecutar la aplicación, el código MSIL se traduce al código nativo de la máquina. Esta tarea es llevada a cabo por el CLR a través de los compiladores de código intermedio a código nativo.

Garbage Collector

El Garbage Collector es el responsable de liberar la memoria cuando ya no queda espacio, al desechar aquellos objetos que no se utilizan. En .NET, el desarrollador no necesita preocuparse por pedir memoria para los datos, ni por liberarla cuando ya no la necesita. El CLR provee servicios de administración automática de memoria.

Security Engine

El Security Engine es el motor de seguridad de .NET. Se especifican niveles de confianza que dependen del origen de la aplicación o del lugar donde se encuentren los archivos.

Debug Engine

El Debug Engine permite depurar las aplicaciones y hacer el seguimiento del código durante la ejecución.

Exception Manager

Una excepción es una situación anormal que ocurre durante la ejecución de una aplicación.

Assemblies

En su interior, un ensamblado contiene código MSIL junto con una sección denominada manifiesto.

Entradas relacionadas: