lunes, 20 de julio de 2015

Núcleo de .NET Framework y la CLR - Parte 1: Tipos de Sistema, Procesamiento de Texto, Colecciones, Consultas, y XML

Índice

0. Introducción
1. Tipos en el Namespace System
2. Procesamiento de Texto
3. Colecciones
4. Consultas
5. XML
6. Conclusiones
7. Glosario
8. Literatura & Enlaces

0. Introducción

Emprendemos una serie de artículos de introducción compuesta por tres partes donde describiremos a gran escala los grandes elementos que integran el núcleo de .NET Framework y la Common Language Runtime. En esta primera parte hablaremos de 5 temas: los tipos base fundamentales en el namespace System, procesamiento de texto con la clase StringBuilder y expresiones regulares, clases para representar colecciones de objetos, consultas con LINQ, y la manipulación de documentos con el lenguaje de marcado extensible XML.

1. Tipos en el Namespace System

Muchos de los tipos fundamentales que usamos a diario desde lenguajes de programación compatibles con la especificación de la Common Language Runtime (CLI) están localizados en el namespace System [5]. Entre estos tipos tenemos:
Existen, además, otras clases para llevar a cabo operaciones matemáticas, generación de números aleatorios, y conversión entre tipos:
  • Math
  • Random
  • Convert.
En la siguiente serie de artículos .NET Framework -Fundamentos de .NET- trabajeremos arduamente en descubrir las sutilezas de estos tipos.

Estudiáremos las interfaces que definen los protocolos estándar usados transversalmente por .NET Framework para:
  • Formatear (IFormattable), y 
  • Definir comparaciones de orden (IComparable).
No dejaremos a un lado el estudio del patrón Disposable comprendiendo la interfaz IDisposable.

2. Procesamiento de Texto

Cuando nos hallemos en la serie de Fundamentos de .NET estudiáremos la clase StringBuilder (Receta No. 2-1 en C#: Manipular el Contenido de una Cadena Texto Eficientemente), las clases disponibles para la codificación de texto (Encoding y subclases).

El namespace System.Text.RegularExpressions los estudiáremos para comprender el uso y práctica de búsqueda avanzada a través de patrones.

3. Colecciones

Respecto al estudio de estructuras de almacenamiento de objetos, estudiáremos los siguientes namespaces:
  • System.Collections: namespace contenedor de clases e interfaces para las estructuras estándar de colecciones de objetos: listas, colas, arreglos de bits, tablas hash, y diccionarios.
  • System.Collections.Generic: tipos para la definición de collecciones genéricas, 
  • System.Collections.Specialized: namespace contenedor de tipos fuertemente nombrados,
  • System.Collections.ObjectModel: namespace especializado en colecciones de modelo de objetos para librerías reutilizables,
  • System.Collections.Concurrent: tipos de colecciones diseñadas para el trabajo concurrente.

4. Consultas

También será objeto de estudio el lenguaje integrado de consulta LINQ. Es importante que estudiemos este lenguaje para la interacción y manipulación de datos a través de consultas sobre diferentes contenedores o bases de datos: SQL Server, XML, objetos en memoria, y otros.

Aquí abordaremos los namespaces:
  • System.Data.Linq
  • System.Data.Entity
  • System.Linq
  • System.Linq.Expressions
  • System.Xml.Linq

5. XML

A pesar de ya hemos emprendido el estudio de XML en la serie de artículos XML con C#, abordaremos varios temas de estudio que son transversales a .NET Framework.

Los namespaces de estudio en los artículos .NET comprenden:
  • System.Xml
  • System.Xml.Linq
  • System.Xml.Schema
  • System.Xml.Serialization
  • System.Xml.XPath, y 
  • System.Xml.Xsl

6. Conclusiones

Hicimos un recorrido por los primeros 5 temas integrales que serán tema de estudio en futuros artículos .NET.


En el próximo artículo describiremos los siguientes temas .NET: Diagnóstico y contratos de código, concurrencia y asincronía, entrada y salida, networking, serialización.

7. Glosario

  • .NET
  • Aplicación
  • Bases de datos
  • Colección
  • LINQ
  • Objeto
  • XML

8. Literatura & Enlaces

[1]: C# 5.0 in a Nutshell by Joseph Albahari and Ben Albahari. Copyright 2012 Joseph Albahari and Ben Albahari, 978-1-449-32010-2.
[2]: Tipos Anulables (Nullable) en C# - http://ortizol.blogspot.com/2014/09/tipos-anulables-nullable-en-csharp.html
[3]: Excepciones en C# - Parte 1: Introducción a las Excepciones - http://ortizol.blogspot.com/2014/06/excepciones-en-csharp-parte-1-introduccion-a-las-excepciones.html
[4]: Receta No. 3-10 en C#: Obtención de Información de Tipos (Reflection) - http://ortizol.blogspot.com/2014/06/receta-no-3-10-en-csharp-obtencion-de-informacion-de-tipos-reflection.html
[5]: System Namespace () - https://msdn.microsoft.com/en-us/library/system(v=vs.110).aspx
[6]: Receta No. 2-1 en C#: Manipular el Contenido de una Cadena Texto Eficientemente - http://ortizol.blogspot.com/2014/04/receta-no-2-1-en-c-manipular-el.html


V

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.