sesion 3 programacion orientada a objetos

Post on 07-Jun-2015

1.165 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentaciones enviadas por ITESA.NET

TRANSCRIPT

Programación Programación Orientada a ObjetosOrientada a Objetos – –

OOPOOP

Desarrollo de Desarrollo de Aplicaciones en CapasAplicaciones en Capas

ObjetivoObjetivo

Mostrar los conceptos de Mostrar los conceptos de programación orientada a objetos programación orientada a objetos

(OOP) y el desarrollo de (OOP) y el desarrollo de aplicaciones en capas (n-tier), sus aplicaciones en capas (n-tier), sus

ventajas, estructuras y ventajas, estructuras y comunicacióncomunicación

Definición - OOPDefinición - OOPDefinición - OOPDefinición - OOP

Técnica de programación de forma Técnica de programación de forma estructurada con la finalidad de estructurada con la finalidad de

reaprovechar el código existente e reaprovechar el código existente e implementar nuevas clases cuando implementar nuevas clases cuando

es necesarioes necesario

Pilares de OOPPilares de OOPPilares de OOPPilares de OOP

PolimorfismoPolimorfismo

HerenciaHerencia

AbstracciónAbstracción

EncapsulamientoEncapsulamiento

AbstracciónAbstracciónAbstracciónAbstracción

Es la capacidad de generalizar un Es la capacidad de generalizar un objeto como un tipo de dato que posea objeto como un tipo de dato que posea

un conjunto específico de un conjunto específico de características (propiedades) y pueda características (propiedades) y pueda

ejecutar un grupo de acciones ejecutar un grupo de acciones (métodos)(métodos)

Abstracción de un Abstracción de un automóvilautomóvilEjemplo en VB.NETEjemplo en VB.NET

Abstracción de un Abstracción de un automóvilautomóvilEjemplo en VB.NETEjemplo en VB.NET

Public Class Carro Public VelocidaMaxima As Integer Public NombreDelModelo As String Public Sub Acelerar()

‘codigo para acelerar End Sub Public Sub Parar() ‘codigo para parar End SubEnd Class

EncapsulamientoEncapsulamientoEncapsulamientoEncapsulamientoEs la exposición de las propiedades y Es la exposición de las propiedades y

métodos de un objeto mientras la métodos de un objeto mientras la implementación real permanece oculta implementación real permanece oculta

del mundo exterior. El objeto es del mundo exterior. El objeto es tratado como una caja negra.tratado como una caja negra.

Esto permite que los desarrolladores Esto permite que los desarrolladores creen objetos que puedan ser creen objetos que puedan ser

alterados sin afectar el código fuente alterados sin afectar el código fuente que los utilizaque los utiliza

PolimorfismoPolimorfismoPolimorfismoPolimorfismoEs el concepto según el cual objetos Es el concepto según el cual objetos diferentes poseen implementaciones diferentes poseen implementaciones diferentes de una misma propiedad o diferentes de una misma propiedad o método. Por ejemplo, un helicóptero y método. Por ejemplo, un helicóptero y un avión a chorro poseen el método un avión a chorro poseen el método

LevantaVuelo y la propiedad AltitudMax, LevantaVuelo y la propiedad AltitudMax, sin embargo sus implementaciones son sin embargo sus implementaciones son

diferentesdiferentes

Polimorfismo – VB.NETPolimorfismo – VB.NETPolimorfismo – VB.NETPolimorfismo – VB.NET

Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento

Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento

No confunda los dos, ya que se uno se No confunda los dos, ya que se uno se refiere al hecho de que existen refiere al hecho de que existen

funciones que pueden ser atribuidas a funciones que pueden ser atribuidas a una clase sin que su implementación una clase sin que su implementación sea conocida, y el otro define que dos sea conocida, y el otro define que dos o más clases posean la misma interfazo más clases posean la misma interfaz

Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento

Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento

HerenciaHerenciaHerenciaHerencia

Es el concepto por el que una clase Es el concepto por el que una clase puede estar basada en otra puede estar basada en otra

denominada clase base. La herencia denominada clase base. La herencia suministra un mecanismo para crear suministra un mecanismo para crear

jerarquías de objetosjerarquías de objetos

HerenciHerenciaa

HerenciHerenciaa

HerenciaHerenciaHerenciaHerencia

HerenciaHerenciaHerenciaHerencia

InheritsInherits Indica la clase que se heredaráIndica la clase que se heredará

NoInheritableNoInheritable Indica que la clase que utiliza este elemento no puede ser Indica que la clase que utiliza este elemento no puede ser heredada en ninguna otra claseheredada en ninguna otra clase

MustInheritMustInherit Indica que la clase que utiliza este elemento solamente puede Indica que la clase que utiliza este elemento solamente puede ser utilizada por medio de su herencia en otra claseser utilizada por medio de su herencia en otra clase

Alcance de la ClaseAlcance de la Clase

OverridableOverridable Indica que el método que utiliza este elemento puede ser Indica que el método que utiliza este elemento puede ser sobreescritosobreescrito

NotOverridabNotOverridablele

Indica que el método que utiliza este elemento no puede ser Indica que el método que utiliza este elemento no puede ser sobreescritosobreescrito

MustOverrideMustOverride Indica que el método que utiliza este elemento solamente puede Indica que el método que utiliza este elemento solamente puede ser implementado por medio de la sobreescritura del mismoser implementado por medio de la sobreescritura del mismo

OverridesOverrides Indica que el método está sobreescribiendo el método de la Indica que el método está sobreescribiendo el método de la clase baseclase base

Alcance de MétodosAlcance de Métodos

Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)

Es posible emplear un único método Es posible emplear un único método (Function o Sub) para diversas (Function o Sub) para diversas

formas de implementación. Se puede formas de implementación. Se puede definir un método con el mismo definir un método con el mismo

nombre para varios tipos de nombre para varios tipos de parámetros de entrada y salida, y le parámetros de entrada y salida, y le

corresponde al Framework corresponde al Framework interpretarlos uno por uno y elegir el interpretarlos uno por uno y elegir el

correctocorrecto

Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)

Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)

DelegateDelegateDelegateDelegate

Es una funcionalidad poderosa en OOP. Es una funcionalidad poderosa en OOP. Considerando que los objetos pueden Considerando que los objetos pueden

poseer eventos, el lenguaje debe poseer eventos, el lenguaje debe proveer una forma elegante para que proveer una forma elegante para que

un objeto haga uso de métodos de un objeto haga uso de métodos de otros objetosotros objetos

DelegateDelegateDelegateDelegate

DelegateDelegateDelegateDelegate

N-tierN-tier

N-tierN-tierN-tierN-tier

¿En qué consiste esta arquitectura?¿En qué consiste esta arquitectura?¿Cuáles son las ventajas?¿Cuáles son las ventajas?¿En qué situaciones se aplica?¿En qué situaciones se aplica?

Internet abierta Internet abierta protocolos de comunicaciónprotocolos de comunicación(HTTP, SMTP, XML, SOAP)(HTTP, SMTP, XML, SOAP)

Experiencia del usuario Experiencia del usuario más rica y productivamás rica y productiva

Aplicaciones disponibles Aplicaciones disponibles globalmente a través de globalmente a través de Web Web

ServicesServices

Las aplicaciones se vuelven Las aplicaciones se vuelven Servicios Web programablesServicios Web programables

XMLXML

XMLXML

XMLXML

XMLXML

XMLXML

XMLXML

HTMLHTML

SmartSmartClientsClients

Standard Standard BrowsersBrowsers

Smart Smart DevicesDevices

Servicios Servicios Web Web

PúblicosPúblicos

Servicios de Servicios de BaseBase

Servicios Servicios InternosInternos

Servidores, Servidores, Datos, HostsDatos, Hosts

Servicios del Servicios del Sistema Sistema

OperativoOperativo

Logica de Logica de Negocios & Negocios &

Servicios WebServicios Web

N-tierN-tier

N-tierN-tier

1-capa 2-capas 3-capas

interop

erabilidad

Fuente de DatosFuente de DatosNegociosNegociosInterfaz de Interfaz de AplicacionAplicacion

Fuente de DatosFuente de Datos

Interfaz de Interfaz de AplicacionAplicacion

Interfaz de Interfaz de AplicacionAplicacion

Interfaz de Interfaz de AplicacionAplicacion

Fuente de DatosFuente de Datos

NegociosNegocios

Bases de Bases de datos, datos,

Servicios Web, Servicios Web, XMLXML

N-tier (1 / 2)N-tier (1 / 2)N-tier (1 / 2)N-tier (1 / 2)

ClienteCliente

Base de Datos

1 capa

N-tierN-tierClass Library - DLL

Presentation

VB.NET + VB.NET + C#C#

Class Library - DLL

Presentacion

N-tierN-tierN-tierN-tier

1 capa 2 capas

Base de Datos

3 capas

ClienteCliente

NegociosNegocios

N-tierN-tierN-tierN-tier

Database

Stored ProceduresStored Procedures

¿Qué son?¿Qué son?

¿Cuáles son sus ventajas?¿Cuáles son sus ventajas?

Stored ProceduresStored Procedures

Stored ProceduresStored Procedures

Stored ProceduresStored Procedures

Servicio único que pone a disposición Servicio único que pone a disposición una forma estandarizada de acceso a una forma estandarizada de acceso a las funcionalidades del sistemalas funcionalidades del sistema

Ambiente administrado y escalable Ambiente administrado y escalable para garantizar la atención a los para garantizar la atención a los usuarios usuarios

Rutinas complejas de negocio con una Rutinas complejas de negocio con una única versión siendo ejecutada, única versión siendo ejecutada, independiente de los sistemas que la independiente de los sistemas que la estuvieran utilizandoestuvieran utilizando

Server ApplicationServer ApplicationServer ApplicationServer Application

Ambiente centralizado para la Ambiente centralizado para la aplicación de cambios en la lógica de aplicación de cambios en la lógica de negocios, que permite un control más negocios, que permite un control más efectivo en relación con la versión y la efectivo en relación con la versión y la seguridad de la informaciónseguridad de la información

Facilidad en brindar información a los Facilidad en brindar información a los servidores web, sacandoles a ellos el servidores web, sacandoles a ellos el trabajo pesado, y siendo responsable trabajo pesado, y siendo responsable por la implementación de la lógica de por la implementación de la lógica de negociosnegocios

Server ApplicationServer ApplicationServer ApplicationServer Application

Server ApplicationServer ApplicationServer ApplicationServer Application

1 capa 2 capas

Base de Datos

3 capas

ClienteCliente

Server App.Server App.

¿Qué es un Web ¿Qué es un Web Service?Service?

¿Qué es un Web ¿Qué es un Web Service?Service?Es una clase desarrollada en .NET para Es una clase desarrollada en .NET para

atender la demanda de aplicaciones / atender la demanda de aplicaciones / sitios internos o externossitios internos o externos

<WebMethod()> Public Function …<WebMethod()> Public Function …… … instrucciones …instrucciones …End FunctionEnd Function

¿Dónde y por qué ¿Dónde y por qué emplear Web Services?emplear Web Services?

¿Dónde y por qué ¿Dónde y por qué emplear Web Services?emplear Web Services?

Cualquier aplicación puede consumir Cualquier aplicación puede consumir un WS disponible en la WEB (agendas, un WS disponible en la WEB (agendas, catálogos, datos bancarios, médicos, catálogos, datos bancarios, médicos, validación de tarjetas, noticias, etc.)validación de tarjetas, noticias, etc.)

El objetivo es integrar aplicaciones El objetivo es integrar aplicaciones escribiendo cada vez menos código escribiendo cada vez menos código (reutilización)(reutilización)

Ventajas de losVentajas de los Web Web ServicesServices

Desarrollo Desarrollo ConectadoConectado

Interoperabilidad con Interoperabilidad con sistemas construidos sistemas construidos

en cualquier en cualquier plataforma o plataforma o

lenguajelenguajeSistemas ConectadosSistemas Conectados

Integración con sistemas legados, Integración con sistemas legados,

dentro y fuera de la empresadentro y fuera de la empresa

Negocios ConectadosNegocios ConectadosAgilidad en la conexión a clientes, Agilidad en la conexión a clientes, socios y funcionarios, a través de socios y funcionarios, a través de

soluciones construidas rápidamente soluciones construidas rápidamente y a bajos costosy a bajos costos ExperienciasExperiencias

ConectadasConectadasInformación en Información en

cualquier momento, en cualquier momento, en cualquier lugar, en cualquier lugar, en

cualquier dispositivocualquier dispositivo

OrquestraciónOrquestración

Garantia de EntregaGarantia de Entrega

SeguridadSeguridad

Recursos de los Web Recursos de los Web ServicesServices

SistemasSistemasLegadosLegados

SistemasSistemasExternosExternos

Verticales e Verticales e InfraestructuraInfraestructura

EventosEventos

DatosDatosCorporativosCorporativos

TransaccionesTransacciones

Modelo de Web ServicesModelo de Web ServicesWeb Site: HTML Cliente:Web Site: HTML Cliente:

Web Service: XML Cliente:Web Service: XML Cliente:

El navegadorEl navegador

Legacy

WebWebServiceService

SistemasSistemas

Exhibe la Exhibe la información a un información a un usuario que usuario que reacciona o no reacciona o no frente a la mismafrente a la misma

El sistema que recibe El sistema que recibe la información (Excel, la información (Excel, ERP) procesa la ERP) procesa la información apenas la información apenas la reciberecibe

Uso de los Web Uso de los Web ServicesServices

Uso de los Web Uso de los Web ServicesServices

XM

L

Web Services

XML

App Externas

WIN, WEB, MOBILE

App Internas

WEB, MOBILE

WIN

Database

Server AppServer App

ClientClientWeb Server

top related