Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NET
{Arquitectura y Fundamentos}
@serandvaraco
Qu NO es .NET?
.NET no es un Sistema Operativo
.NET no es un Lenguaje de Programacin .NET no es un Entorno de Desarrollo
Qu es .NET?
Plataforma de Desarrollo compuesta de Entorno de Ejecucin (Runtime) Bibliotecas de Funcionalidad (Class Library) Lenguajes de Programacin Compiladores Herramientas de Desarrollo (IDE & Tools) Guas de Arquitectura
Libreras Administradas
Libreras Administradas
Libreras Administradas
CLR 2.0
CLR 2.0
CLR 2.0
CLR 4
.NET Framework 4
Preview MetroStyle
Plataforma de ejecucin intermedia 100% Orientada a Objetos Multilenguaje Plataforma Empresarial de Misin Crtica
Aplicacin .NET
Microsoft .NET
Lenguajes de Programacin
Libreras de Funcionalidad
Entorno de Ejecucin
Entorno de Desarrollo
Qu es el .NET Framework?
Paquete de software fundamental de la plataforma .NET. Incluye:
Entorno de Ejecucin (Runtime) Bibliotecas de Funcionalidad (Class Library)
Servidor
ASP.NET
.NET Framework Redistributable
Class Library
.NET Framework
Windows
COM+ Services
Cdigo Fuente
Compilador
Assembly (MSIL)
Biblioteca o Ejecutable
CLR - MSIL
.method private hidebysig static void Main(string[] args) cil managed { .entrypoint maxstack 8 L_0000: ldstr "Hola Mundo" L_0005: call void [mscorlib]System.Console::WriteLine(string) L_000a: ret }
Qu es un Assembly?
Un Assembly es la unidad mnima de ejecucin, distribucin, instalacin y versionado de aplicaciones .NET
Descripcin de Tipos MiBiblioteca.DLL Metadata Recursos Cdigo Compilado MSIL
Clases Clases Base Interfaces Implementadas Atributos de las Clases Mtodos de las Clases
Diferentes aplicaciones pueden usar diferentes versiones Actualizaciones ms simples Desinstalacin ms simple
System.Windows.Forms
Design ComponentModel
System.Drawing
Drawing2D Imaging Printing Text
System.Data
OleDb Common Odbc SqlClient
System.Xml
XSLT XPath Serialization
System
Collections
Configuration Diagnostics Globalization
IO
Net Reflection Resources
Security
ServiceProcess Text Threading
Runtime InteropServices
Remoting Serialization
Visual Basic.NET
PHP Perl
C#
Python
J#
JavaScript
Pascal
Oberon Cobol
Haskell
Mondrian Fortran
LISP
Smalltalk APL
Prolog
Eiffel Objective Caml
RPG
ML Scheme Mercury
Cdigo Manejado
Instalacin
Assembly en la mquina destino
Policy
<?xml version="1.0" encoding="utf-8" ?> <configuration> <mscorlib> <security> <policy> <PolicyLevel version="1"> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissio ns and forms the root of the code group tree."> <IMembershipCondition clas s="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"
Ejecucin
Compilador JIT
Class Loader
Seguridad
Code Manager
Debug Engine
COM Interop
Dynamic Dispatch
Object Binder JScript Binder
Todo tipo hereda directa o indirectamente del tipo System.Object Define Tipos de VALOR y de REFERENCIA
Microsoft .NET
En VB.NET cada bloque tiene su sentencia de apertura y su sentencia de cierre, que normalmente empieza con la palabra End
Class Main Public Shared Sub Main() Console.WriteLine("Hello World!") End Sub End Class
VB.NET y C# - Comentarios
C# soporta tres tipos de comentarios
string nombre = Juan; // Comentario de una sola lnea /* Comentario con mas de una lnea*/ /// <summary> /// Documentacin XML que puede ser consumida por otras /// herramientas para mostrar ayuda dinmica o generar /// documentacin en varios formatos /// </summary> public class Matematica { /// <summary> /// Calcula la suma de dos nmeros enteros /// </summary> /// <param name="x">El primer operando de la suma</param> /// <param name="y">El segundo operando de la suma</param> /// <returns> La suma entera de ambos operandos</returns> public int Sumar (int x, int y) {return x + y;} }
Tipos de Datos
Categora Enteros Byte SByte Int16 Int32 Clase Un entero sin signo (8-bit) Un entero con signo (8-bit) Un entero con signo (16-bit) Un entero con signo (32-bit) Descripcin C# Alias byte sbyte short int VB.NET Alias Byte Sbyte Short Integer
Int64
Punto Flotante Single Double Decimal Lgicos Otros Boolean Char Object String
long
float double decimal bool char object string
Long
Single Double Decimal Boolean Char Object String
VB.NET: comienza con Dim o algn modificador de acceso (Public, Private, etc.) + identificador de la variable + As Tipo de Dato
Dim Dim Dim Dim x As Integer y As Decimal z As Rectangle cli As Cliente Dim es = a Private por defecto
VB.NET y C# - Arreglos
C# utiliza corchetes [ ] para definicin de arrays
string[] telefonos; //Definicion de un Arreglo de strings telefonos = new string[3]; //De 3 elementos telefonos[0] = 1245; //Seteo del 1er elemento del arreglo //Definicion y asignacion de una vez telefonos = new string[] {1,2,3};
C# - Matrices
C# utiliza corchetes [,] para definicin de matrices
string[,] Nombres; //Definicion de un Matriz de strings Nombres = new string[2,2]; //De 2X2 elementos Nombres[0,0] = Sergio; //Seteo del 1er elemento de la primera columna Nombres[0,1] = Vargas; //Seteo del 1er elemento de la segunda columna
VB.NET y C# - Operadores
Descripcin Asignacin Adicin Sustraccin Multiplicacin Divisin Negacin Mdulo (Parte entera de la divisin) Mayor Menor Mayor o Igual C# = + * / ! % > < >= VB.NET = + * / not mod > < >=
Menor o Igual
<=
<=
&& ll ! == !=
VB.NET:
Dim condicion As Boolean = True While condicion = True 'Poner condicion=false en algn momento End While
Microsoft .NET
{POO}
VB.NET y C# - Clases
C#: las clases son declaradas mediante class
//Definicion de la clase CuentaBancaria class CuentaBancaria { //Definicion de miembros }
VB.NET
Public Class HolaMundo Public Shared Sub Main(ByVal args() As String) Punto de entrada de la aplicacin End Sub End Class
VB.NET y C# - Mtodos
Mtodos: acciones que un objeto puede llevar a cabo. En C# todo mtodo es una funcin
public void HacerDeposito(int importe) //No devuelve valor { }
public int ObtenerInventario(int codArticulo) //Devuelve un entero { }
Public Function Inventario(ByVal codArt As Integer) As Integer Devuelve un entero End Function
VB.NET y C# - Constructores
Constructor: mtodos dentro de la clase que son llamados automticamente cuando se crea una instancia de dicha clase.
En C# tienen el mismo nombre de la clase
class CtaCte { public CtaCte(){...} public CtaCte(int i){...} }
VB.NET
Public Sub HacerDeposito(ByVal imp As Integer) End Sub Public Sub HacerDeposito(ByVal imp As Integer, ByVal acreditar As Boolean) End Sub
VB.NET
Public Shared Sub HacerDeposito(ByVal imp As Integer)
End Sub
VB.NET y C# - Propiedades
Propiedad: caracterstica o atributo de un objeto
C#
class CtaCte { int balance; public int Balance { get { return balance; } set { balance = value; } } } CtaCte cc = new CtaCte(); cc.Balance = 100; //Asignacin Mostrar(cc.Balance); //Obtencin
VB.NET
Class CtaCte Dim _balance As Integer Property Balance() As Integer Get Return _balance End Get Set (ByVal value As Integer) _balance = value End Set End Property End Class Dim cc As New CtaCte() cc.Balance = 100 Asignacin Mostrar(cc.Balance) Obtencin
VB.NET y C# - Herencia
En C# la herencia se define:
class Cuenta { } class CtaCte : Cuenta { } //Clase Base
//Clase Derivada
Clase Base
Clase Derivada
VB.NET
Public NotInheritable Class Cuenta No se puede heredar de esta clase End Class
Public MustInherit Class Cuenta No se pueden crear instancias de esta clase, slo de sus derivadas End Class
VB.NET y C# - Namespaces
C#
namespace BancoARG { namespace Gestion { public class CtaCte { } public class CajaAhorro { } } } //Referencia full BancoARG.Gestion.CtaCte; BancoARG.Gestion.CajaAhorro; //Referencia corta using BancoARG.Gestion; CtaCte cc = new CtaCte(); CajaAhorro ca = new CajaAhorro();
VB.NET
Namespace BancoARG Namespace Gestion Public Class CtaCte End Class Public Class CajaAhorro End Class End Namespace End Namespace Referencia full BancoARG.Gestion.CtaCte BancoARG.Gestion.CajaAhorro Referencia a un namespace Imports BancoARG.Gestion Dim cc As New CtaCte() Dim ca As New CajaAhorro()
Try Dim resultado As Integer resultado = x/y Catch e As DivideByZeroException Error division por cero Catch Otro error Finally Siempre pasa por aca End Try
Microsoft .NET
{Generics}
permiten definir estructuras de datos de seguridad de tipos, sin comprometerse a tipos de datos reales.
Colecciones Genricas
List<t> Dictionary<a,b> Seek<t> Queek<t>
Listas
Arreglos
2008 Microsoft Corporation. Todos los derechos reservados. Microsoft, Windows, Windows Vista y otros nombres de producto son y pueden ser marcas registradas y registros en Estados Unidos y en otros pases. La informacin contenida en el presente es slo para fines informativos y representa la visin actual de Microsoft Corporation a la fecha de esta presentacin. Debido a que Microsoft debe responder a las cambiantes condiciones del mercado, no se debe interpretar como un compromiso por parte de Microsoft, y Microsoft no puede garantizar la precisin de ninguna informacin provista despus de la fecha de esta presentacin. MICROSOFT NO OFRECE GARANTA ALGUNA, EXPRESA, IMPLCITA O DE LEY, RESPECTO A LA INFORMACIN EN ESTA PRESENTACIN.
68
http://microsoft.com/spanish/msdn/latam/mediacenter/
Microsoft MSDN Latinoamrica te ofrece los ltimos recursos multimedia en espaol para desarrolladores: presentaciones y demostraciones en directo o diferido, va Internet, brindadas por expertos de Microsoft, las cuales te ayudarn a mantenerte al da con informacin sobre los productos y tecnologas que utilizas a diario en el desarrollo de tus aplicaciones.
Preguntas