Está en la página 1de 8

Introduccin a .

NET (Alumnos) Ulman 2014

Introduccin a .NET
Que es .NET?
.NET es un conjunto de tecnologas de desarrollo de aplicaciones, que permite fabricar sistemas informticos aprovechando al
mximo los recursos existentes en la actualidad. Facilita la tarea de los diseadores y programadores, ambientando el trabajo en
equipo, la programacin orientada a objetos, la reutilizacin de cdigo, la escritura de software robusto y eficiente.

.NET no es un lenguaje de programacin, ni un editor de cdigo. No es un compilador, o un intrprete.

Algunas caractersticas sobresalientes


Programacin orientada a objetos. .NET ambienta, estimula y facilita el paradigma de OOP, proveyendo de una gran
cantidad de herramientas que garantizan al programador un ptimo rendimiento en el desarrollo de sus aplicaciones.
Integracin a la WEB. Con el advenimiento de las comunicaciones online, la banda ancha, las comunicaciones Wireless, la
tecnologa celular y la masificacin de los dispositivos mviles, aparecen necesidad es inditas, como ser la distribucin de
aplicaciones en forma remota, utilizando Internet como medio conductor. .NET permite al desarrollador sacar provecho al
mximo de esta realidad tecnolgica.
Multilenguaje. .NET permite desarrollar aplicaciones en distintos lenguajes de programacin, dndole la libertad al
programador de utilizar aquellos que le resulten ms adecuados para cada tipo de aplicacin o simplemente aquellos cuya
sintaxis le resulte ms cmoda o familiar.
Integracin con herramientas case para diseo. Las herramientas de diseo son casi una necesidad para el desarrollo de
aplicaciones informticas . .NET soporta integracin con algunas de estas herramientas, como el caso del Rational.
Integracin con el entorno de desarrollo Visual Studio .NET. El Visual Studio.NET es un entorno de programacin que
facilita la edicin, depuracin y testeo de aplicaciones. Si bien es tcnicamente posible escribir aplicaciones .NET solamente
utilizando el Notepad, el Visual Studio.NET soluciona y facilita muchsimas de las tareas que realiza un programador en
forma habitual.
Integracin con herramientas de desarrollo en equipo. .NET permite integrarse a productos de desarrollo corporativo,
que permiten el trabajo en equipo por parte de varios desarrolladores en el mismo proyecto en forma simultnea.

Lenguajes de programacin
Toda aplicacin, independientemente de la tecnologa en que se encuentre desarrollada, contiene lneas de cdigo escritas en
lenguajes de programacin. En .NET es posible escribir cdigo en distintos lenguajes. De hecho, como veremos mas adelante, es
posible que un mismo proyecto tenga elementos (formularios, mdulos, etc.) escritos en distintos lenguajes.
.NET acepta cualquier lenguaje de programacin, siempre y cuando este cumpla con un conjunto de reglas y convenciones, llamado
CLS (Common Language Specification). De esta forma, cualquier empresa puede fabricar un lenguaje que genere cdigo para .NET,
simplemente respetando estas especificaciones que Microsoft provee en forma pblica y gratuita. Existen en la actualidad ms de 70
lenguajes que pueden usarse para .NET, la enorme mayora de los cuales no son fabricados por Microsoft.
Por ejemplo: A#, Boo, C#, C++/CLI, Cobra, Component Pascal, F#, IronPython, IronRuby, IronLisp, J#, JScript .NET, L#, Nemerle,
Oxygene, P#, Phalanger, Phrogram, PowerBuilder, Team Developer, VBx, VB.NET, Windows PowerShell, Active Oberon, APLNext,
AVR.NET, clojure-clr, Delphi.NET, DotLisp, Delta Forth .NET, dylan.NET, EiffelEnvision, Fantom, Fortran .NET, Gardens Point Modula -
2/CLR, GrGen.NET, IoNET, IronScheme, IronSmalltalk, Ja.NET, Common Larceny, LOLCode.NET, Mercury on .NET, Net Express,
NetCOBOL, COBOL2002 for .NET Framework, OxygenScheme, PL/IL, #S, #Smalltalk, sml.net, Synergy.NET, Visual COBOL,
Vulcan.NET, X#, Zonnon.

No obstante, Microsoft ha desarrollado algunos lenguajes de programacin, de los cuales, los mas conocidos son el Visual Basic.NET,
el Visual J++ y el C.NET (mas conocido como C#).

A diferencia de los otros lenguajes de Microsoft para .NET, C# es el nico que ha sido desarrollado especficamente para .NET desde
sus comienzo. C# es un lenguaje sumamente poderoso, de sintaxis amigable, robusto, eficiente y completo, y es por esta razn que
hemos decidido abordar la enseanza de .NET a travs de C#.

Tipos de proyectos
Un proyecto, al igual que en Visual Basic, es un conjunto de elementos (formularios, mdulos, mdulos de clase, etc.) que operan
juntos para formar una aplicacin.
En .NET existen distintas clases de proyectos, de acuerdo a la utilizacin del mismo:
Windows Application (Aplicacin de Windows): Es el proyecto que se utiliza en Visual Basic 6. Consiste en un programa
ejecutable que corre sobre Windows (mas adelante veremos requerimientos) y consiste bsicamente en formularios que
permiten al usuario interactuar con la aplicacin, ingresando datos y visualizando informacin.

Class Library (Biblioteca de clases): Es un repositorio de clases que deben ser utilizadas desde otros proyectos. Es decir,
este tipo de proyectos SOLAMENTE contiene clases (con sus mtodos, propiedades y eventos) para que otros proyectos
puedan instanciarlas y utilizarlas. Los proyectos de este tipo, por lo tanto, no tienen vida p ropia, deben ser utilizados
conjuntamente con otro proyecto.

v 2.0.2 1 de 8
Introduccin a .NET (Alumnos) Ulman 2014

Windows Control Library (Biblioteca de Controles para Windows): Es un proyecto que contiene controles visuales que
son utilizados desde proyectos de tipo Windows Application. Estos controles permiten mejorar la interfaz y operatividad de
los controles bsicos de .NET, de forma que el desarrollador pueda crear controles mas avanzados y sofisticados para utilizar
en sus aplicaciones.

Smart Device Application (Aplicacin para dispositivos mviles): Proyectos para crear aplicaciones que corrern sobre
dispositivos con sistema operativo Pocket PC o Windows Mobile.

ASP.NET Web Application (Aplicacin Web para ASP.NET). Proyectos para aplicaciones que corrern sobre un servidor
Web de ASP.NET, y sern utilizadas accediendo a travs de un browser.

ASP.NET Web Service (Servicio Web para ASP.NET). Muy resumidamente, un WebService es una funcin a la que se le
envan parmetros y devuelve un valor, tal como en una funcin comn en un programa. La diferencia reside en que
mientras la definicin de la funcin y el cdigo que la utiliza (tambin llamado la consume) deben estar en el mismo
proyecto, la consumicin de un Web Service puede hacerse desde otro proyecto distinto del que contiene la definicin de la
funcin. Incluso, el otro proyecto puede estar en otra maquina de la red local, puede estar escrito en otro lenguaje, o estar en
una computadora fsicamente remota solo unida por Internet. De esta forma, en la computadora A se encuentra el
WebService, y en la computadora B (que esta en otro pas) hay un programa que a travs de Internet le manda parmetros al
WebService y obtiene los resultados. Un proyecto de tipo WebService entonces, es un c onjunto de funciones que permiten
ser consultadas a travs de la WEB. Al igual que las Class Library, dado que solo proveen servicios a otras aplicaciones, no
tienen un ciclo de vida propio, sino que son consumidas por aplicaciones que las requieren.

ASP.NET Web Mobile Application (Aplicaciones mviles para ASP.NET). Proyectos para crear aplicaciones que se
ejecutaran sobre PDA, celulares, u otros dispositivos mviles.

Web Control Library (Biblioteca de controles Web). Equivalente a Windows Control Library (Biblioteca de controles para
aplicaciones Windows), pero para aplicaciones Web

Console Application (Aplicaciones de consola). Aplicacin que se ejecuta desde lnea de comandos D.O.S.

Windows Service (Servicios de Windows). Aplicaciones que corrern como servicios del sistema operativo, es decir, que
no requieren iniciar una sesin de usuario para ejecutarse.

En algunas situaciones, es necesario combinar distintos proyectos para crear un proyecto ms complejo. Esta unin de dos o mas
proyectos para formar una aplicacin mas grande se denomina Solucin. Como mnimo, una aplicacin consiste en un proyecto,
contenido dentro de una solucin. Posteriormente, a la misma solucin se le pueden ir agregando nuevos proyectos, del mismo tipo, o
de distinto tipo.

Imaginemos este escenario: un video club quiere desarrollar un sistema que permita consultar el estado de alquiler de sus pelculas, y
efectuar reservas. Podramos entonces desarrollar una solucin con cuatro proyectos:
1. Una biblioteca de clases, que tendr la definicin de todas las clases a utilizar con sus mtodos, propiedades y eventos. Por
ejemplo, una clase Pelcula con una propiedad Estado y un mtodo Reservar.
2. Una Windows Application, para generar un sistema de escritorio que pueda ser ejecutado en las computadoras del mostrador
del negocio. Esta aplicacin utiliza las clases del punto 1.
3. Una ASP.NET Web Application que permita que los socios acceder desde sus casas por medio de Internet. Esta aplicacin
tambin utiliza las clases del punto 1.
4. Una ASP.NET Web Service, que permita a aplicaciones de escritorio de otras sucursales del video club acceder va Web y
consultar online el estado de la pelcula.

v 2.0.2 2 de 8
Introduccin a .NET (Alumnos) Ulman 2014

Porque elegimos .NET?


Porque creemos que es una tecnologa sumamente avanzada, que cada vez tendr mayores adeptos en el mundo informtico, y que
el mercado demandara en forma incremental. Consideramos importante que nuestros alumnos estn formados en las tecnologas que
mas se utilizaran en un futuro cercano, y .NET se perfila como una tecnologa de amplia difusin en todo el mundo.

Que es el .NET Framework?


Es una infraestructura de desarrollo que esta compuesta por diversos recursos, entre los cuales
se destaca el ms importante, que es una maquina virtual conocida como el CLR (common
Language Runtime), sobre la cual se ejecutan las aplicaciones.

De este modo, nuestros programas ya no poseern cdigo nativo de ningn microprocesador en


particular, sino instrucciones MSIL (Microsoft Intermediate Language) que sern traducidas a
cdigo nativo en el momento de su ejecucin por medio de un compilador JIT (Just In Time)

El framework tambin define una librera de clases base BCL (Base class library) a la cual puede
acceder desde cualquier lenguaje desarrollado para la plataforma.
Hoy en da hay ms de 70 lenguajes que soporta la plataforma.

Por encima de la infraestructura se ubicara un conjunto de reglas bsicas que debe implementar
un lenguaje para poder ser parte de la familia .NET. Esta especificacin es conocida como CLS
(Common Languaje Specification)
Finalmente se encuentran el conjunto de lenguajes que cumplen con la especificacin del CLS,
como el C#, el VB.Net, Managed C++, Fujitsu NetCOBOL for .NET, etc.

v 2.0.2 3 de 8
Introduccin a .NET (Alumnos) Ulman 2014

En resumen:
El compilador es el encargado de recibir el cdigo fuente escrito por el programador, y generar instrucciones en un lenguaj e
intermedio llamado MSIL (Microsoft Intermediate Languaje). Estas instrucciones MSIL son idnticas, sea cual fuere el lenguaje en que
haya sido escrito el cdigo fuente original. Este cdigo MSIL, al momento de ser ejecutado, se ira compilando por partes, de forma que
solo se compila el fragmento de la aplicacin que se va a ejecutar. A esta forma de compilacin se la llama compilacin JIT (Just In
Time).
Esta compilacin se ejecuta sobre una maquina virtual, denominada CLR (Common Language Runtime), de forma que cualquier
lenguaje que compile MSIL puede ejecutarse en forma idntica. Y, por otro lado, cualquier clase de equipo para el que exista un
Framework.NET podr ejecutar aplicaciones .NET (dispositivos mviles, celulares, etc.).
Por ultimo, .NET provee de una extenssima biblioteca de funciones y utilidade s, que estn disponibles para cualquier aplicacin que
se ejecute sobre el Framework, llamada BCL (Base Class Library)

Common Language Runtime (CLR)


El Common Language Runtime (CLR) es el ncleo de la plataforma .NET. Es el motor encargado de gestionar l a ejecucin de las
aplicaciones para ella desarrolladas y a las que ofrece numerosos servicios que simplifican su desarrollo y favorecen su fiab ilidad y
seguridad. Las principales caractersticas y servicios que ofrece el CLR son:

Microsoft Framework
Modelo de programacin consistente y homogneo: A todos los servicios y facilidades ofrecidos por el CLR se accede de la
misma forma: a travs de un modelo de programacin orientado a objetos. Esto es una diferencia importante respecto al modo de
acceso a los servicios ofrecidos por los algunos sistemas operativos actuales (por ejemplo, los de la familia Windows), en los que
a algunos servicios se les accede a travs de llamadas a funciones globales definidas en DLLs y a otros a travs de objetos
(objetos COM en el caso de la familia Windows)

Modelo de programacin sencillo: Con el CLR desaparecen muchos elementos complejos incluidos en los sistemas operativos
actuales (registro de Windows, GUIDs, HRESULTS, IUnknown, etc.) El CLR no es que abstraiga al prog ramador de estos
conceptos, sino que son conceptos que no existen en la plataforma .NET

Eliminacin del infierno de las DLLs: En la plataforma .NET desaparece el problema conocido como infierno de las DLLs
que se da en los sistemas operativos actuales de la familia Windows, problema que consiste en que al sustituirse versiones viejas
de DLLs compartidas por versiones nuevas puede que aplicaciones que fueron diseadas para ser ejecutadas usando las viejas
dejen de funcionar si las nuevas no son 100% com patibles con las anteriores. En la plataforma .NET las versiones nuevas de las
DLLs pueden coexistir con las viejas, de modo que las aplicaciones diseadas para ejecutarse usando las viejas podrn seguir
usndolas tras instalacin de las nuevas. Esto, obvi amente, simplifica mucho la instalacin y desinstalacin de software.
El Deploy (distribucin) de una aplicacin se reduce simplemente a realizar un xcopy de los archivos necesarios.

Integracin de lenguajes: Desde cualquier lenguaje para el que exista un compilador que genere cdigo para la plataforma .NET
es posible utilizar cdigo generado para la misma usando cualquier otro lenguaje tal y como si de cdigo escrito usando el
primero se tratase. Microsoft ha desarrollado un compilador de C# que genera c digo de este tipo, as como versiones de sus
compiladores de Visual Basic (Visual Basic.NET) y C++ (C++ con extensiones gestionadas) que tambin lo generan y una versin
del intrprete de JScript (JScript.NET) que puede interpretarlo. La integracin de len guajes esta que es posible escribir una clase
en C# que herede de otra escrita en Visual Basic.NET que, a su vez, herede de otra escrita en C++ con extensiones gestionadas .

Gestin de memoria: El CLR incluye un recolector de basura (garbage collector) que evita que el programador tenga que tener
en cuenta cundo ha de destruir los objetos que dejen de serle tiles. Este recolector es una aplicacin que se activa cuando se
quiere crear algn objeto nuevo y se detecta que no queda memoria libre para hac erlo, caso en que el recolector recorre la

v 2.0.2 4 de 8
Introduccin a .NET (Alumnos) Ulman 2014

memoria dinmica asociada a la aplicacin, detecta qu objetos hay en ella que no puedan ser accedidos por el cdigo de la
aplicacin, y los elimina para limpiar la memoria de objetos basura y permitir la creaci n de otros nuevos. Gracias a este
recolector se evitan errores de programacin muy comunes como intentos de borrado de objetos ya borrados, agotamiento de
memoria por olvido de eliminacin de objetos intiles o solicitud de acceso a miembros de objetos ya destruidos.
No hay que olvidarse de que en Visual Basic 6.0, y ASP utilizamos set objeto = nothing.

Ejecucin multiplataforma: El CLR acta como una mquina virtual, encargndose de ejecutar las aplicaciones diseadas para
la plataforma .NET. Es decir, cualquier plataforma para la que exista una versin del CLR podr ejecutar cualquier aplicacin
.NET. Microsoft ha desarrollado versiones del CLR para la mayora de las versiones de Windows: Windows 95, Windows 98,
Windows ME, Windows NT 4.0, Windows 2000, Windows XP, Windows 2003 y Windows CE (que puede ser usado en CPUs que
no sean de la familia x86) Por otro lado Microsoft ha firmado un acuerdo con Corel para portar el CLR a Linux y tambin hay
terceros que estn desarrollando de manera independiente vers iones de libre distribucin del CLR para Linux (Proyecto Mono).
Asimismo, dado que la arquitectura del CLR est totalmente abierta, es posible que en el futuro se diseen versiones del mismo
para otros sistemas operativos.

Screenshot de MonoDevelop.

Seguridad de tipos: El CLR facilita la deteccin de errores de programacin difciles de localizar comprobando que toda
conversin de tipos que se realice durante la ejecucin de una aplicacin .NET se haga de modo que los tipos origen y destino
sean compatibles.

Aislamiento de procesos: El CLR asegura que desde cdigo perteneciente a un determinado proceso no se pueda acceder a
cdigo o datos pertenecientes a otro, lo que evita errores de programacin muy frecuentes e impide que unos procesos puedan
atacar a otros. Esto se consigue gracias al sistema de seguridad de tipos antes comentado, pues evita que se pueda convertir un
objeto a un tipo de mayor tamao que el suyo propio, ya que al tratarlo como un objeto de mayor tamao podra accederse a
espacios en memoria ajenos a l que podran pertenecer a otro proceso. Tambin se consigue gracias a que no se permite
acceder a posiciones arbitrarias de memoria.

v 2.0.2 5 de 8
Introduccin a .NET (Alumnos) Ulman 2014

Tratamiento de excepciones: En el CLR todo los errores que se puedan producir durante la ejecucin de una aplicacin se
propagan de igual manera: mediante excepciones. Esto es muy diferente a como se vena haciendo en los sistemas Windows
hasta la aparicin de la plataforma .NET, donde ciertos errores se transmitan mediante cdigos de error en formato Win32, otros
mediante HRESULTs y otros mediante excepciones.

Soporte para eventos y delegates: Los delegates son similares a los punteros a funciones de otros lenguajes como C++ aunque
ms cercanos a la orientacin a objetos, y los eventos son mecanismos mediante los cuales los objetos pueden notificar de la
ocurrencia de sucesos. Los eventos suelen usarse en combinacin con los delegates para el diseo de interfaces grficas de
usuario (Windows, etc.), con lo que se proporciona al programador un mecanismo cmodo para escribir cdigos de respuesta a
los diferentes eventos que puedan surgir a lo largo de la ejecucin de la aplicacin. (pulsacin de un botn, modificacin de un
texto, etc.)

El CLR permite que excepciones lanzadas desde cdigo para .NET escrito en un cierto lenguaje se puedan capturar en cdigo escrito
usando otro lenguaje, e incluye mecanismos de depuracin que pueden saltar desde cdigo escrito para .NET en un determinado
lenguaje a cdigo escrito en cualquier otro. Por ejemplo, se puede recorrer la pila de llamadas de una excepcin aunque sta incluya
mtodos definidos en otros mdulos usando otros lenguajes.

Soporte multihilo: El CLR es capaz de trabajar con aplicaciones divididas en mltiples hilos (Multi Threading) de ejecucin que
pueden ir evolucionando por separado en paralelo o intercalndose, segn el nmero de procesadores de la mquina sobre la
que se ejecuten. Las aplicaciones pueden lanzar nuevos hilos, destruirlos, suspenderlos por un tiempo o hasta que les llegue una
notificacin, enviarles notificaciones, sincronizarlos, etc.

v 2.0.2 6 de 8
Introduccin a .NET (Alumnos) Ulman 2014

Distribucin transparente: El CLR ofrece la infraestructura necesaria para crear objetos remotos y acceder a ellos de manera
completamente transparente a su localizacin real, tal y como si se en contrasen en la mquina que los utiliza. (Utilizando Proxys
con Remoting o WebServices)

Seguridad avanzada: El CLR proporciona mecanismos para restringir la ejecucin de ciertos


cdigos o los permisos asignados a los mismos segn su procedencia o el usua rio que los
ejecute. Es decir, puede no darse el mismo nivel de confianza a cdigo procedente de
Internet que a cdigo instalado localmente o procedente de una red local; puede no darse los
mismos permisos a cdigo procedente de un determinado fabricante q ue a cdigo de otro; y
puede no darse los mismos permisos a un mismo cdigos segn el usuario que lo est
ejecutando o segn el rol que ste desempee. Esto permite asegurar al administrador de un
sistema que el cdigo que se est ejecutando no pueda pone r en peligro la integridad de sus
archivos, la del registro de Windows, etc.

Interoperabilidad con cdigo antiguo: El CLR incorpora los mecanismos necesarios para poder acceder desde cdigo escrito
para la plataforma .NET a cdigo escrito previamente a la aparicin de la misma y, por tanto, no preparado para ser ejecutand o
dentro de ella. Estos mecanismos permiten tanto el acceso a objetos COM como el acceso a funciones sueltas de DLLs
preexistentes (como la API Win32), o utilizar un Objeto de Negocio desarrollado en VB6 con tecnologa ActiveX.Dll / COM+.

Como se puede deducir de las caractersticas comentadas, el CLR lo que hace es gestionar la ejecucin de las aplicaciones
diseadas para la plataforma .NET. Por esta razn, al cdigo de estas aplicaciones se le suele llamar cdigo gestionado o man ejado
(Managed Code), y al cdigo no escrito para ser ejecutado directam ente en la plataforma .NET se le suele llamar cdigo no
gestionado (unmanaged code).
El cdigo no gestionado que bsicamente es una imagen binaria (x86 code), cargada en memoria, y en ejecucin.

Common Type System (CTS)


El Common Type System (CTS) o Sistema de Tipo Comn es el conjunto de reglas
que han de seguir las definiciones de tipos de datos para que el CLR las acepte. Es
decir, aunque cada lenguaje gestionado disponga de su propia sintaxis para definir
tipos de datos, en el MSIL resultante de la compilacin de sus cdigos fuente se ha de
cumplir las reglas del CTS.
Estas reglas determinan que una variable Int de C# es equivalente a otra variable
Integer de VB.Net o Cobol .Net, tambin que un objeto string de C# contiene un
mtodo ToUpper(), para todos los lenguajes soportados por el CTS.

Microsoft Intermediate Language (MSIL)


Todos los compiladores que generan cdigo para la plataforma .NET no generan cdigo mquina para CPUs x86 ni para ningn otro
tipo de CPU concreta, sino que generan cdigo escrito en el lenguaje intermedio conocido como Microsoft Intermediate Lenguage
(MSIL) El CLR da a las aplicaciones las sensacin de que
se estn ejecutando sobre una mquina virtual, y
precisamente MSIL es el cdigo mquina de esa mquina
virtual. Es decir, MSIL es el nico cdigo que es capaz de
interpretar el CLR, y por tanto cuando se dice que un
compilador genera cdigo para la plataforma .NET lo que
se est diciendo es que genera MSIL.

La principal ventaja del MSIL es que facilita la ejecucin


multiplataforma y la integracin entre lenguajes al ser
independiente de la CPU y proporcionar un formato
comn para el cdigo mquina generado por todos los
compiladores que generen cdigo para .NET. Sin
embargo, dado que las CPUs no pueden ejecutar
directamente MSIL, antes de ejecutarlo habr que
convertirlo al cdigo nativo de la CPU sobre la que se
vaya a ejecutar. De esto se encarga un componente del
CLR conocido como compilador JIT (Just-In-Time) o jitter
que va convirtiendo dinmicamente el cdigo MSIL a
ejecutar en cdigo nativo segn sea necesario. Este jitter
se distribuye en tres versiones:

v 2.0.2 7 de 8
Introduccin a .NET (Alumnos) Ulman 2014

La actuacin de un jitter durante la ejecucin de una aplicacin gestionada puede dar la sensaci n de hacer que sta se ejecute ms
lentamente debido a que ha de invertirse tiempo en las compilaciones dinmicas. Esto es cierto, pero hay que tener en cuenta que es
una solucin mucho ms eficiente, ya que en .NET cada cdigo no es interpretado cada vez que se ejecuta sino que slo es
compilado la primera vez que se llama al mtodo al que pertenece. Es ms, el hecho de que la compilacin se realice dinmicam ente
permite que el jitter tenga acceso a mucha ms informacin sobre la mquina en que se ejecutar la aplicacin del que tendra
cualquier compilador tradicional, con lo que puede optimizar el cdigo para ella generado (por ejemplo, usando las instruccio nes
especiales del Pentium III si la mquina las admite, usando registros extra, incluyendo cdigo inline, etc.)

Librera de clase base (BCL Base Class Library)


La Librera de Clase Base (BCL) es una librera incluida en el .NET
Framework formada por cientos de clases que permiten acceder a
los servicios ofrecidos por el CLR y a las funcionalidades ms
frecuentemente usadas a la hora de escribir programas. Adems,
a partir de estas clases prefabricadas el programador puede crear
nuevas clases que mediante herencia extiendan su funcionalidad y
se integren a la perfeccin con el resto de clases de la BCL.
Por ejemplo, implementando ciertas interfaces podemos crear
nuevos tipos de colecciones que sern tratadas exactamente igual
que cualquiera de las colecciones incluidas en la BCL.

Esta librera est escrita en MSIL, por lo que puede usarse desde
cualquier lenguaje cuyo compilador genere MSIL. A travs de las
clases suministradas en ella es posible desarrollar cualquier tipo
de aplicacin, desde las tradicionales aplicaciones de ventanas,
consola o servicio de Windows NT hasta los novedosos servicios
Web y pginas ASP.NET. Es tal la riqueza de servicios que ofrece
que puede crearse lenguajes que carezcan de librera de clases
propia y slo usen la BCL -como C#.

Dado la amplitud de la BCL, ha sido necesario organizar las clases


en ella incluida en names paces que agrupen clases con
funcionalidades similares.

Namespaces de la BCL ms usados


Namespace Utilidad de los tipos de datos que contiene
System Tipos muy frecuentemente usados, como los tipos bsicos, tablas, excepciones,
fechas, nmeros aleatorios, recolector de basura, entrada/salida en consola, etc.
System.Collections Colecciones de datos de uso comn como pilas, colas, listas, diccionarios, etc.
System.Data Manipulacin de bases de datos. Forman la denominada arquitectura ADO.NET.
System.IO Manipulacin de ficheros y otros flujos de datos.
System.Net Realizacin de comunicaciones en red.
System.Reflection Acceso a los metadatos que acompaan a los mdulos de cdigo.
System.Runtime.Remoting Acceso a objetos remotos.
System.Security Acceso a la poltica de seguridad en que se basa el CLR.
System.Threading Manipulacin de hilos.
System.Web.UI.WebControls Creacin de interfaces de usuario basadas en ventanas para aplicaciones Web.
System.Winforms Creacin de interfaces de usuario basadas en ventanas para aplicaciones
estndar.
System.XML Acceso a datos en formato XML.

v 2.0.2 8 de 8

También podría gustarte