Orientada a Objetos –
OOP
Desarrollo de
Aplicaciones en Capas
Objetivo
Abstracción Polimorfismo
Herencia Encapsulamiento
Abstracción
Es la capacidad de generalizar un
objeto como un tipo de dato que posea
un conjunto específico de
características (propiedades) y pueda
ejecutar un grupo de acciones
(métodos)
Abstracción de un
automóvil
Ejemplo 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 Sub
End Class
Encapsulamiento
Es la exposición de las propiedades y
métodos de un objeto mientras la
implementación real permanece oculta
del mundo exterior. El objeto es
tratado como una caja negra.
Esto permite que los desarrolladores
creen objetos que puedan ser
alterados sin afectar el código fuente
que los utiliza
Polimorfismo
Es el concepto según el cual objetos
diferentes poseen implementaciones
diferentes de una misma propiedad o
método. Por ejemplo, un helicóptero y
un avión a chorro poseen el método
LevantaVuelo y la propiedad AltitudMax,
sin embargo sus implementaciones son
diferentes
Polimorfismo – VB.NET
Polimorfismo /
Encapsulamiento
No confunda los dos, ya que se uno se
refiere al hecho de que existen
funciones que pueden ser atribuidas a
una clase sin que su implementación
sea conocida, y el otro define que dos
o más clases posean la misma interfaz
Polimorfismo /
Encapsulamiento
Herencia
Es el concepto por el que una clase
puede estar basada en otra
denominada clase base. La herencia
suministra un mecanismo para crear
jerarquías de objetos
Herenci
a
Herencia
Herencia
Alcance de la Clase
Inherits Indica la clase que se heredará
NoInheritable Indica que la clase que utiliza este elemento no puede ser
heredada en ninguna otra clase
MustInherit Indica que la clase que utiliza este elemento solamente puede
ser utilizada por medio de su herencia en otra clase
Alcance de Métodos
Overridable Indica que el método que utiliza este elemento puede ser
NotOverridab sobreescrito
Indica que el método que utiliza este elemento no puede ser
le
MustOverride sobreescrito
Indica que el método que utiliza este elemento solamente puede
ser implementado por medio de la sobreescritura del mismo
Overrides Indica que el método está sobreescribiendo el método de la
clase base
Overload (Sobrecarga)
Es posible emplear un único método
(Function o Sub) para diversas
formas de implementación. Se puede
definir un método con el mismo
nombre para varios tipos de
parámetros de entrada y salida, y le
corresponde al Framework
interpretarlos uno por uno y elegir el
correcto
Overload (Sobrecarga)
Overload (Sobrecarga)
Delegate
Es una funcionalidad poderosa en OOP.
Considerando que los objetos pueden
poseer eventos, el lenguaje debe
proveer una forma elegante para que
un objeto haga uso de métodos de
otros objetos
Delegate
Delegate
N-tier
N-tier
¿En qué consiste esta arquitectura?
¿Cuáles son las ventajas?
¿En qué situaciones se aplica?
N-tier
Las aplicaciones se
vuelven Servicios
Web programables Servicios
M L Web
X Públicos
Smart
XML Logica de
Clients
Negocios XML Servicios de
Base
Standard &
L Servicios XML
Browsers HTM Servicios
Web Internos
Smart Servicios
ML del XM
Devices X L Servidores,
Sistema Datos, Hosts
Operativo
Experiencia del Internet abierta Aplicaciones
usuario protocolos de comunicación disponibles
más rica y (HTTP, SMTP, XML, SOAP) globalmente a
N-tier
Interfaz de Bases de
Negocios Fuente de Datos datos,
Aplicacion Servicios
Web, XML
1- 2- 3-
capa capa capa
s s
Interfaz de Interfaz de Interfaz de
Aplicacion Aplicacion Aplicacion
interoperabilidad
Fuente de Datos Negocios
Fuente de Datos
N-tier (1 / 2)
Cliente
Base
de
Datos
1 capa
N-tier
Class Library - DLL
Presentation
Class Library - DLL
VB.NET +
C#
Presentacion
N-tier
Cliente
Negocios
Base
de
Datos
Database
Stored Procedures
¿Qué son?
¿Cuáles son sus ventajas?
Stored Procedures
Stored Procedures
Stored Procedures
Server Application
Servicio único que pone a disposición
una forma estandarizada de acceso a
las funcionalidades del sistema
Cliente
Server App.
Base
de
Datos
Legacy
Uso de los Web
Services
Web Services
Web Server
L
XM
Server App
L
X M
WEB, MOBILE
WIN
Database
App Internas