viernes, 13 de enero de 2012

Tipado Fuerte

Es especificar los tipos de datos de todas las variables.



  • El uso del Tipado fuerte permite lo siguiente:


  • Minimiza la cantidad de memoria que utiliza la aplicación.


  • Permite al compilador verificación de tipos.


  • La ejecución del código es más rápida.

    Tipos Valor - Tipo Referencia

    Tipos Valor
    Es aquella que contiene directamente sus datos. Es decir que una variable de Tipo Valor no puede afectar a otra variable.
    Tipo Referencia
    Es aquella que contiene una referencia o puntero al valor de un objeto. Dos variables de Tipo de Referencia pueden referirse al mismo Objeto, en donde las operaciones que se realizan en una variable pueden afectar al objeto referenciado por otra variable por Tipo de Referencia.

    Ensamblados

    Es la unidad más elemental de código que puede ejecutar el entorno de .NET Framework, el cual está conformado por un conjunto de tipos y recursos.
     
    Tipos de ensamblados según modo de creación
    Estáticos: Es aquel que es creado por el programador en tiempo de diseño.
    Dinámicos: Son aquellos que son creados en tiempo de ejecución.
     
    Contenido de un Ensamblado
    El ensamblado es constituido por los siguientes elementos:
    Manifiesto
    Metadatos
    Módulos de código con los tipos compilados en IL
    Recursos adicionales
     
    El Manifiesto de un ensamblado contiene la siguiente información
    Nombre: Una cadena con el nombre del ensamblado.
    Versión: Numero de versión.
    Cultura: Información sobre idioma y otros elementos culturales que soporta el ensamblado.
    Nombre Seguro: en el caso de ensamblados compartidos, este nombre permite identificar al ensamblado a atreves de una clave.
    Lista de Ficheros
    Referencia de Tipos
    Ensamblados Referenciados

    Namespaces

    Un espacio de nombres, es el medio proporcionado por la plataforma para organizar las clases de una manera más lógica y jerárquica dentro del entorno.
     
    Para poder acceder a un espacio de nombres en una aplicación de VB.NET debemos realizarla con la palabra reservada Imports en la cabecera del Modulo o Clase junto con el nombre del espacio de nombres y la clase que queremos acceder, o usar la descripción calificada completa en cada momento que debemos hacer referencia a la clase.
    Ejemplo:
    Imports Manejador.Productos
    Imports System.Windows.Forms
     
    Descripción Calificada
    Manejador.Contabilidad:Factura()

    Servidores de Entorno

    Un servidor de entorno o Runtime Host es el que se encarga de ejecutar un dominio de aplicación dentro del Common Language Runtime.
    Cuando el CLR va a ejecutar una aplicación, un servidor de entorno crea el entorno de ejecución o Shell para dicha aplicación, y este es cargado en un proceso, seguidamente crea un dominio de aplicación en este proceso y por ultimo carga la aplicación en el dominio.
    .NET Framework dispone de los siguientes servidores de entorno:

    •  

    • ASP.NET: Carga el entorno en un proceso preparado para gestionarse en la Web ; el cual también crea un dominio de aplicación para cada aplicación de internet ejecutada en un servidor.

    • Internet Explorer: Crea un dominio de aplicación por cada sitio web visitado.

    • Windows Shell: Crea un dominio de aplicación con interfaz Windows, para cada programa que es ejecutado.

      Dominios de Aplicación

      Una de las principales características de .NET Framework es la seguridad y aislamiento de cada aplicación, pudiendo ejecutar múltiples aplicaciones en un mismo proceso.
      Para poder conseguir aislar las aplicaciones de modo que no se produzcan choques entre ellas, ha sido a través de procesos. Es decir que cada aplicación se carga en un proceso por separado, lo cual proporciona un adecuado nivel de aislamiento, con lo cual se evitan los posibles conflictos entre las direcciones de memoria utilizadas por cada programa.

      martes, 10 de enero de 2012

      Just-In-Time (JIT Compiler)

      Es el encargado de generar el código binario específico para cada procesador en el que el programa será ejecutado para optimizar y mejorar la velocidad de la ejecución el compilador JIT parte de que algunas partes del código nunca son ejecutadas.

      EL IL Intermidiate Language


      Cuando el código fuente es compilado no es convertido directamente a código binario, si no a un lenguaje intermedio, que recibe el nombre de Microsoft Intermediate Language (MSIL o IL).
      El IL generado por el compilador, consiste en un conjunto de instrucciones que son independientes del sistema operativo o procesador en el cual se va a ejecutar el programa, y que se ocupan de manipulación de objetos, accesos a memoria, manejo de excepciones etc.

      Recolección de memoria en .NET Framework

      Garbage Collector es el encargado de hallar los objetos de la aplicación que no son utilizados y liberar la memoria que usan. La liberación de memoria se realiza cuando el CLR lo disponga

      lunes, 9 de enero de 2012

      EL CLS Common Language Specification


      Es el encargado de definir los mínimos estándares que deben cumplir los lenguajes y desarrolladores, para que sus componentes y aplicaciones puedan ser utilizados con otros lenguajes compatibles con .NET.
      El CLS permite a los desarrolladores crear aplicaciones en múltiples lenguajes con la seguridad de que no habrá problema alguno al momento de entregar los diferentes problemas, algunos al integrar los diferentes lenguajes. Lo que permite heredar clases desarrolladas en C# a Visual Basic  y otros lenguajes.
      El CLS tiene varias finalidades  las cuales describiremos a continuación:
      Independencia del lenguaje : El desarrollador ya no se ve obligado a programar en un lenguaje que no es de su agrado porque no provee funcionalidades las cuales no tiene su lenguaje preferido, porque .Net proporciona funcionalidades de modo independiente del lenguaje. Lo que quiere decir que podemos escribir programas en el lenguaje que más nos guste.
      Integración entre Lenguajes: Ahora es posible desarrollar programas diferentes lenguajes e integrarse unos con otros siempre y cuando cumplan con las especificaciones del lenguaje.
      Apertura a nuevos lenguajes: es posible agregar a .NET Framework nuevos lenguajes no solo los creados por Microsoft sino por otros fabricantes.

      Principales Tipos de Datos en .NET Framework y su relación VB.NET


      Tipo de Dato
      (Nombre de la clase)
      Tipo de Dato VB.NET
      Descripción
      Byte
      Byte
      Entero sin signo 8 bit
      SByte
      SByte(tipo de dato no nativo)
      Entero sin signo 8 bit(tipo no acorde con el CLS)
      Int16
      Short
      Entero con signo 16 bit
      Int32
      Integer
      Entero con signo 32 bit
      Int64
      Long
      Entero con signo 64 bit
      UInt16
      UInt16 (tipo de dato no nativo)
      Entero sin signo 16 bit(tipo no acorde con el CLS)
      UInt32
      UInt32 (tipo de dato no nativo)
      Entero sin signo 32 bit(tipo no acorde con el CLS)
      UInt64
      UInt64 (tipo de dato no nativo)
      Entero sin signo 64 bit(tipo no acorde con el CLS)
      Single
      Single
      Numero con coma flotante de precisión simple de 32 bit
      Double
      Double
      Numero con coma flotante de precisión doble de 64 bit
      Decimal
      Decimal
      Valor decimal de 96 bit
      IntPtr
      IntPtr(tipo de dato no nativo)
      Entero con signo con tamaño dependiente de la plataforma de 32 bit y 64 bit en plataforma de 64 bit(tipo de dato no acorde con el CLS)
      UIntPtr
      UIntPtr (tipo de dato no nativo)
      Entero sin signo con tamaño dependiente de la plataforma de 32 bit y 64 bit en plataforma de 64 bit(tipo de dato no acorde con el CLS)
      Boolean
      Boolean
      Valor logico
      Char
      Char
      Caracteres Unicode de 16 bit
      String
      String
      Cadena de caracteres

      El CTS, Common Type System


      Es el mecanismo del CLR que permite especificar en qué modo los tipos serán creados y manipulados por el entorno de ejecución de .NET Framework.
      El Common Type System es el encargado de decirle al Common Language Runtime como quiere que se ejecute el código.

      EL CLR Common Language Runtime


      El common language runtime es el encargado de la ejecución del código de las aplicaciones.

      A continuación se listan algunas características de este componente de la plataforma.

       • Proporciona un desarrollo de aplicaciones más sencillo y veloz, ya que funcionalidades que debía crear el    programador vienen implementadas en el entorno de ejecución.

       • Gestiona y administra el código en tiempo de ejecución, carga, disposición en memoria, recuperación de  memoria no utilizada a través del recolector de basura (Garbage Collector).

       • Gestión a bajo nivel que en otros lenguajes es labor de los programadores.

       • Proporciona un sistema común de tipos para todos los lenguajes del entorno.

       • Gestiona la seguridad del código que es ejecutado.

       • Dispone de un diseño abierto a lenguajes creados por terceros.

      Que es .NET


      .NET es la nueva arquitectura tecnológica, desarrollada por Microsoft para la creación de y distribución de software como un servicio. Con esta nueva herramienta de desarrollo, los programadores podrán crear aplicaciones basadas en servicios Web.
      Las principales características que forman .NET son las siguientes:
      La plataforma .NET Framework, que proporciona la infraestructura, aplicaciones y el entorno de ejecución para las mismas.
      Los productos de Microsoft enfocados hacia .NET que son los siguientes Windows.NET server, Visual Studio.NET, Office.NET etc.