Desarrollo de componentes en Visual Basic .NET

Slides:



Advertisements
Presentaciones similares
Programación orientada a objetos en Visual Basic .NET
Advertisements

Controles para el desarrollo de clientes inteligentes con Windows Forms Mentor Asociado Solid Quality Learning IberoAmericana Daniel A. Seara NDSoft.
Introducción a Windows Forms
Crear y consumir Servicios Web XML
Validación de la entrada de datos de usuario
Creación de controles de usuario
Desarrollo de componentes en Visual Basic .NET
Agregar código a un formulario Web Form con Microsoft ASP.NET
Módulo 1: Primeros Pasos
Módulo 6: Validando la Entrada de Usuario
CURSO DE VISUAL BASIC .NET MODO GRAFICO
Interacción Persona Ordenador
TALLER DE PROGRAMACIÓN III
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Computación II Repaso de java Karina Figueroa Mora.
Infonova Consultores Arquitectura de desarrollo versión 1.0.
Control de errores visual basic
Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.
por: Prof. Luis Vallenilla
Módulo 4: Trabajando con Procedimientos. Descripción Crear procedimientos Uso de procedimientos Uso de funciones predefinidas Debug and Deploy Escribir.
Programación en Visual Basic
Applications Development I 6.1 Foro Tomas Anzalotta Alvarado.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Universidad Fermin Toro. Sistema de aprendizaje interactivo a Distancia. Barquisimeto-Estado Lara Participantes.  Rubén Viteznik (Capitán)  Carmen Mendoza.
Trabajar con módulosTrabajar con variables públicasCrear procedimientos Pasar argumentos por valor y por referencia Referencia rápida.
Trabajar con SERVLETS. Índice Qué son los Servlets Para qué sirven Cómo se utilizan Ejemplo Cómo probar un Servlet.
Aplicación con Angular, Ionic y PHP Por: Luis Salvador.
 Multiempresa: Puede controlar varias empresas en la misma aplicación. Cada empresa con su propia base de datos.  Multiusuario: Crear diferentes usuarios.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
Nombre José Francisco Luna Jurado Matricula Asignatura
Introducción a ASP.NET.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Clases y Objetos en Java
Unidad Didáctica 11 Reutilización Versión 1.0.0
Taller de Java Universidad de los Andes
Fundamentos de la programación orientada a objetos
gvSIG: Avanzando Juntos
Clases y Objetos en Java
Curs de Postgrau Visual Basic .NET: Introducció
Programación orientada a objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y Objetos en Java
Introducción a Visual Studio .NET
Desarrollo de componentes en Visual Basic .NET
INTRODUCCION Este trabajo se trata de 2 principales opciones con las que cuenta Visual Basic los que son ComboBox y checkbox El control ComboBox de los.
Programación Orientada a Objetos I Unidad 4 Relaciones entre clases: herencia.
Herencia en C#.
Acceso a datos con ADO.NET
Push Notifications.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Oracle Pl/SQl Developer – Nivel 1
Fundamentos básicos del lenguaje C#. Parte 1 Introducción a C#
DHCP FAILOVER PROTOCOL
Taller de certificación Internacional
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
Implementación de aplicaciones
 Se da a través del modelo ADO.NET Este modelo se puede definir como:  Un conjunto de interfaces, clases, estructuras y enumeraciones que permiten el.
Introducción al Visual Basic  Un programa en sentido informático está constituido en un sentido general por variables que contienen los datos con los.
Streams de datos y archivos
Integration Services.
Programación orientada a objetos en Visual Basic .NET
Introducción a Windows Forms
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
DESARROLLO DE APLICACIONES WEB INSTRUCTOR: HEMERSON VILLACORTA MANIHUARI.
SISTEMAS OPERATIVOS JOSE ANGEL MORENO B. Ingeniero de Sistemas TP # Copnia Universidad Incca de Colombia CORPORACI Ó N UNIVERSITARIA REMINGTON.
Clases y Objetos en Java
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

Desarrollo de componentes en Visual Basic .NET

Descripción Descripción de los componentes Creación de componentes con servicio Creación de clases de componentes Creación de controles de formularios Windows Forms Hilos de ejecución

Descripción de los componentes Tipos de componentes Uso de módulos como componentes Uso de clases como componentes Uso de componentes en aplicaciones cliente no gestionadas Descripción de .NET Remoting

Tipos de componentes Estructuras Módulos Clases Clases de componentes Componentes con servicio Controles de usuario Controles de usuario de formularios Windows Forms Controles de usuario de formularios Web Forms

Uso de módulos como componentes Declarar el módulo como público Referenciar e importar el ensamblado en código cliente Public Module MyMathFunctions Public Function Square(ByVal lng As Integer) As Long Return (lng * lng) End Function ... End Module   'Client code Imports MyAssembly Dim x As Long = Square(20)

Uso de clases como componentes Declarar la clase como pública Referenciar e importar el ensamblado en código cliente Public Class Account Public Sub Debit(ByVal AccountId As Long, Amount As Double) 'Perform debit action End Sub Public Sub Credit(ByVal AccountId As Long, Amount As Double) 'Perform credit action End Class   'Client code Imports MyAssembly Dim x As New Account( ) x.Debit(1021, 1000)

Uso de componentes en aplicaciones cliente no gestionadas Establecer las propiedades del ensamblado Generar un nombre seguro Seleccionar Registrar para COM Interop en las opciones de Generar Exponer miembros de claes a COM y a los servicios de componentes Definir e implementar interfaces Utilizar el atributo ClassInterface con valor AutoDual Utilizar el atributo COMClass

Descripción de .NET Remoting Cliente AppDomain Servidor AppDomain Marshal By Reference Código cliente Canal Formateador Formateador Servidor Proxy Objeto servidor Marshal By Value Código cliente Canal Canal Formateador Copia objeto servidor Límite de Remoting

Creación de componentes con servicio Hospedar componentes en los servicios de componentes Uso de transacciones Uso de la agrupación de objetos Uso de cadenas de constructor Uso de seguridad Uso de otros servicios de componentes Configurar ensamblados para usar los servicios de componentes

Hospedar componentes en los servicios de componentes Agregar una referencia a System.EnterpriseServices en el ensamblado El espacio de nombres System.EnterpriseServices proporciona: Clase ContextUtil Clase ServicedComponent Atributos de ensamblado, clase y método

Uso de transacciones El atributo Transaction especifica cómo participa una clase en las transacciones La clase ContextUtil proporciona votación en una transacción El atributo AutoComplete impide el uso de los métodos SetAbort, SetComplete y ContextUtil <Transaction(TransactionOption.Required)> Public Class Account Inherits ServicedComponent Public Sub Debit(...) 'Perform debit action ContextUtil.SetComplete( ) End Sub <AutoComplete( )> Public Sub Credit(...) 'Perform credit action 'No SetComplete because AutoComplete is on End Class

Uso de la agrupación de objetos La agrupación de objetos permite crear objetos con antelación El atributo ObjectPooling especifica MinPoolSize y MaxPoolSize ServicedComponent proporciona el método CanBePooled <ObjectPooling(Enabled:=True, MinPoolSize:=5, _ MaxPoolSize:=50)> _ Public Class Account Inherits ServicedComponent ... Protected Overrides Function CanBePooled( ) As Boolean Return True End Function End Class

Uso de las cadenas de constructor Especifican el atributo ConstructionEnabled para indicar que se necesita una cadena de constructor Reemplazan el método Construct para recuperar información <ConstructionEnabled(True)>Public Class Account Inherits ServicedComponent Protected Overrides Sub Construct(ByVal s As String) 'Called after class constructor 'Use passed in string End Sub End Class

Uso de seguridad Los atributos de la configuración de seguridad habilitan la configuración de la seguridad y su papel La clase SecurityCallContext proporciona comprobación de roles y ofrece información sobre el llamador <ComponentAccessControl(True), seguridadRole("Manager")> _ Public Class Account Inherits ServicedComponent Public Function GetDetails( ) As String With seguridadCallContext.CurrentCall If .IsCallerInRole("Manager") Then Return .OriginalCaller.AccountName End If End With End Function End Class

Uso de otros servicios de componentes Otros servicios de componentes incluyen: Activación Just-in-time Componentes encolados Propiedades compartidas Sincronización

Configurar ensamblados para usar los servicios de componentes Establecer atributos a nivel de ensamblado ApplicationName Description ApplicationActivation: biblitoteca o aplícación servidora AssemblyKeyFile Uso de Regsvcs para registrar y crear aplicaciones de servicios de componentes Regsvcs.exe myApplication.dll Uso de Lazy Registration Aplicación registrada la primera vez que se utilice por parte de un cliente

Demostración: Creación de un componente con servicio

Creación de clases de componentes Arquitectura de una clase de componentes Creación de una clase de componentes

Arquitectura de una clase de componentes Clase base System.ComponentModel.Component Interfaz IComponent Clases de componentes Clases derivadas Clases predefinidas Clases personalizadas

Creación de una clase de componentes 1. Heredar de System.ComponentModel.Component Realizar las inicializaciones por parte del constructor Sobrecargar el método Dispose 2. Agregar los componentes ubicados Utilizar elementos del Explorador de servidores o del cuadro de herramientas 3. Crear la funcionalidad requerida Propiedades, métodos y eventos 4. Generar el ensamblado

Demostración: Creación de un componente Stopwatch

Creación de controles de formularios Windows Forms Heredar de la clase UserControl Heredar de un control existente Windows Forms Proporcionar atributos a los controles

Heredar de la clase UserControl Heredar de System.Windows.Forms.UserControl Agregar los controles necesarios al diseñador Agregar propiedades y métodos que correspondan a los de los controles constitutivos Agregar propiedades y métodos adicionales No InitProperties, ReadProperties ni WriteProperties El almacenamiento de propiedades es automático

Heredar de un control existente Windows Forms Permite mejorar la versión de un determinado control Heredar de un control System.Windows.Forms Public Class MyTextBox Inherits System.Windows.Forms.TextBox Private strData As String Public Property HiddenData( ) As String Get Return strData End Get Set(ByVal Value As String) strData = Value End Set End Property ... End Class

Proporcionar atributos a los controles System.ComponentModel proprociona atributos a los controles A nivel de clase: DefaultProperty, DefaultEvent, ToolboxBitmap A nivel de propiedad: Category, Description, DefaultValue Imports System.ComponentModel <ToolboxBitmap("C:\txticon.ico"), DefaultEvent("Click")> _ Public Class MyTextBox Inherits System.Windows.Forms.UserControl <Category("Appearance"), _ Description("Stores extra data"), _ DefaultValue("Empty")> _ Public Property HiddenData( ) As String ... End Property End Class

Demostración: Creación de una caja de texto mejorada

Manejo de hilos de ejecución ¿Qué es un hilo? Ventajas de múltiples hilos de ejecución Creación de hilos Uso de hilos Cuándo utilizar el manejo de hilos

¿Qué es un hilo? La unidad de ejecución que procesa la CPU Todos los procesos de una aplicación contienen al menos un hilo Los hilos están planificados Parece que el equipo realiza varias tareas a la vez Cada hilo contiene su propia pila de llamadas y almacenamiento Programador de subprocesos Proceso 1 Subproc.1 CPU Subproc. 1 Subproc. 3 Subproc. 2 Subproc. 3 Subproc. 2 Subproc. 1 Subproc. 2 Proceso 2 Subproc. 3

Ventajas de múltiples hilos de ejecución Mejor respuesta de la interfaz de usuario Ejemplo: barra de estado Sin bloqueos Comunicación asíncrona Sin afinidad de hilos Los objetos no están vinculados a un hilo

Creación de hilos Uso de la clase System.Threading.Thread El constructor especifica el método delegado Los métodos proporcionan control del procesamiento de hilos Las propiedades proporcionan información de estado y prioridades Utilizar una clase si se requieren parámetros Permitir acceso público a variables clase Lanzar un evento cuando finalice

Uso de hilos Class Calculate Public iValue As Integer Public Event Complete(ByVal Result As Integer) Public Sub LongCalculation( ) 'Perform a long calculation based on iValue ... RaiseEvent Complete(iResult) 'Raise event to signal finish End Sub End Class Sub Test( ) Dim calc As New Calculate( ) Dim th As New Threading.Thread(AddressOf calc.LongCalculation) calc.iValue = 10 AddHandler calc.Complete, AddressOf CalcResult th.Start( ) End Sub Sub CalcResult(ByVal Result As Integer) ...

Cuándo utilizar el manejo de hilos Utilizar los hilos con precaución El uso de más hilos requiere más recursos del sistema Sincronizar el acceso a recursos compartidos Evitar que dos hilos accedan simultáneamente a datos compartidos Utilizar la instrucción SyncLock para bloquear secciones de código Sub Worker( ) SyncLock(theData) 'Lock this object variable theData.id = iValue 'Perform some lengthy action iValue = theData.id End SyncLock 'Unlock the object variable End Sub

Demostración: Uso de la instrucción SyncLock