Resumen
La plataforma .NET provee los medios para:
Distribuir soluciones donde quiera, en cualquier momento y hacia cualquier dispositivo.
Migrar soluciones heredadas.
Desarrollar usando las herramientas y lenguajes de tu elección.
Resumen
La plataforma .NET provee los medios para:
Crear soluciones abiertas sobre estandares abiertos.
Mejor desarrollo, distribución y mantenimento de soluciones
Crear y usar servicios Web
Resumen sobre C#
Sistemas orientados a componentes
Conceptos de componentes en .NET
Por qué C#?
Sistemas orientadas a componentes 1/2
COM
Modelo de componentes mas exitoso en la historia
Hace posible la integración entre organizaciones y la rehusabilidad
No obstante:
Actualmente COM muestra su edad
DCOM no tiene buen desempeño sobre Internet
Más sistemas basados en componentes, más “Infierno de las DLL"
Difícil de implementar aún con herramientas ya maduras
COM no es exactamente independiente del lenguaje
Asume determinadas caracteristicas sobre el caracter binario de los datos.
Sistemas orientadas a componentes 1/2
Conceptos de componentes en .NET
Toma lo mejor de COM+
Interfaces como contratos abstractos
Los componentes implementan y publican interfaces
Exploración dinámica de capacidades y contratos
Conceptos de componentes en .NET
Incorpora
Verdadera orientación a objetos
Modelo nativo de eventos
Sistema de tipos y runtime independientes del lenguaje
Extensibilidad a todos los niveles
Por qué C#?
Lenguaje orientado a componentes
Desarrollado sobre la experiencia de COM+
Soporte nativo para
Espacios de nombres
Versionado
Desarrollado manejado por atributos
Potencia de C con la facilidad de uso de Microsoft Visual Basic®
Curva de aprendizaje mínima
Código mucho mas claro que C++
Más estructurado que Visual Basic
Mas potente que Java
Por qué C#?
Elementos de C#
Estructura y forma
Sistema de tipos de C#
Entendiendo el lenguaje C#
Forma y estructura
No posee ficheros de cabecera “header”
C# emplea el modelo "definición junto a declaración"
Visual Basic, Pascal, Modula, Java
Similar a la implementación “inline” de C++
Sin implicación en la generación de código
Compilación condicional pero sin soporte para macros
Sistema de tipos
Desarrollado directamente sobre el Common Type System de .NET Framework
Acceso nativo al CTS .NET
C# fue concebido sobre .NET
Conceptos principales:
Todo es objeto
Absolutamente todos los tipos heredan implicitamente del System.Object
Distinción clara entre tipos por valor y por referencia
Por Valor: Tipos Simples, Enumerados, Estructuras
Por referencia: Interfaces, Clases, Arreglos
Sistema de tipos
Tipos Simples
Tipos enteros
byte, sbyte (8bit), short, ushort (16bit)
int, uint (32bit), long, ulong (64bit)
Tipos flotantes IEEE
float (precisión de 7 dígitos)
double (precisión de 15–16 dígitos)
Tipo numéricos exactos
decimal (28 dígitos significativos)
Tipos Caracter
char (un único caracter)
string (cadena de caracteres, tipo por referencia)
Tipo Boolean
bool (tipo distintivo, no es equivalente al int)
Tipos Simples
Enumerados
Nombrar elementos usando nombre en vez de números
Mejor usar "Color.Azul" que "3"
Más legible, de más fácil mantenimiento
Tipo por valor por lo que es tan ligero como un int
Ejemplo:
enum Color { Rojo, Verde, Azul, };
Arreglos
Indexados a partir de Cero
Desarrollados a partir de la clase System.Array
Declarados con tipo y formas, pero sin tamaño límite
int[] SingleDim;
int[,] TwoDim;
int [][] Jagged; (dentados)
Arreglos
Creados usando new con límites o inicializadores
SingleDim = new int[20];
TwoDim = new int[,]{{1,2,3},{4,5,6}};
Jagged = new int[1][]; Jagged[0] = new int[]{1,2,3};
Clases
Implementación de código y datos
Representa una unidad semántica
Implementa interfaces
No herencia múltiple
Clases
Clases pueden contener:
Campos: variables miembros
Propiedades: valores accesibles a través de los pares de métodos get/set
Métodos: funcionalidad de los objetos o clases
Especiales: eventos, indexers, delegados
public class Person : IPersonAge{ private int YOB; public Person() { } public int YearOfBirth { get { return YOB; }; set { YOB = value; }; } }
Página anterior | Volver al principio del trabajo | Página siguiente |