3. ¿Qué es POO?
La P.O.O. (también conocida como O.O.P., por
sus siglas en inglés) es lo que se conoce como
un paradigma o modelo de programación.
Esto significa que es una forma de programar,
una manera de plantearse la programación.
4. Características
Abstracción: Es la capacidad de separar los elementos (al
menos mentalmente) para poder verlos de forma singular.
Como cuando describimos el cuerpo humano y decimos
cabeza, brazo(s), pierna(s), etc.
Encapsulación: Se encarga de mantener ocultos los
procesos internos que necesita para hacer lo que sea que
haga, dándole al programador acceso sólo a lo que
necesita.
5. Características
Herencia: La herencia es la capacidad que tiene una clase
de derivar las propiedades y métodos de otra. (Clase e
Instancia de la clase)
Polimorfismo: la posibilidad de acceder a un variado rango
de funciones distintas a través del mismo interfaz. Establecido
mediante El polimorfismo se puede establecer mediante la
sobrecarga, sobre-escritura y la ligadura dinámica.
(Sobrecarga)
6. ¿Qué es una Clase?
Una clase no es más que una serie de código que
define a todos los elementos relacionados con ella.
Algo así como el concepto de lo que queremos
hacer, es como la idea que da forma a un objeto que
crearemos.
La estructura del objeto que queremos definir.
7. Constructores y Destructores
Constructor: Método especial de una clase que es
llamado automáticamente siempre que se crea un
objeto de esa clase.
Destructor: Método que libera la memoria cuando
ya no se utiliza el objeto, .Net se encarga de hacerlo
automáticamente a través del garbage collector .
8. Instancia
Una clase es como la definición de un objeto,
pero no es el objeto en sí, del modo como
una idea no es una cosa física.
Así que para sentarnos necesitaremos
convertir esa idea en algo, en un objeto real;
a ese objeto lo llamamos instancia.
9. Estructura de una Clase
• NameSpace al que pertenece la clase
• Definición de la Clase
• Variables Internas (Son de uso interno de la clase, por lo
que se restringe su uso fuera de ellas con la palabra clave
private)
• Constructor de la Clase
• Propiedades, Métodos y Eventos de la Clase (no
necesariamente en ese orden, pero es una buena forma de
organizarlo).
• Por supuesto, una clase bien hecha contiene además
comentarios con información sobre la clase, la forma de
usarla, su autor, etc.
10. Eventos
Son el medio como interactúa una clase con otras o
con el propio usuario, se encargan de avisar que
algo ha ocurrido y de manejarlo de una forma o de
otra.
Sobrecarga: Cuando el mismo método se define
varias veces con distinto número y/o distinto tipo de
parámetros.
14. Arquitectura de datos desconectados
DataSet
El API de ADO .NET proporciona una superclase que encapsula lo que sería la base de
datos a un nivel lógico: tablas, vistas, relaciones, su integridad, etc., pero siempre con
independencia del tipo de fabricante que la diseñó.
15. Las clases de ADO .NET
System.Data : clases genéricas de datos de ADO .NET, integra la gran mayoría de clases
que habilitan el acceso a los datos de la arquitectura .NET.
• System.Data.SqlClient: clases del proveedor de datos de SQL Server, permiten el acceso
a proveedores SQL Server en su versión 7.0 y superior.
• System.Data.OleDb: clases del proveedor de datos de OleDB, permiten el acceso a
proveedores .NET que trabajan directamente contra controladores basados en los ActiveX
de Microsoft.
• System.Data.SqlTypes: definición de los tipos de datos de SQL Server, proporciona la
encapsulación en clases de todos los tipos de datos nativos de SQL Server y sus funciones
de manejo de errores, ajuste y conversión de tipos, etc.
• System.Data.Common: clases base, reutilizables de ADO .NET, proporcionan la colección
de clases necesarias para acceder a una fuente de datos (como por ejemplo una Base de
Datos).
16. Dentro del espacio de nombres System.Data encontramos las clases compartidas que
constituyen el eje central de ADO.NET, y son las siguientes:
• DataSet: almacén de datos por excelencia en ADO .NET. Representa una base de
datos desconectada del proveedor de datos. Almacena tablas y sus relaciones.
• DataTable: un contenedor de datos. Estructurado como un conjunto de filas
(DataRow) y columnas (DataColumn).
• DataRow: registro que almacena n valores. Representación en ADO .NET de una
fila/tupla de una tabla de la base de datos.
• DataColumn: contiene la definición de una columna. Metadatos y datos asociados a
su dominio.
• DataRelation: enlace entre dos o más columnas iguales de dos o mas tablas.
• Constraint: reglas de validación de las columnas de una tabla.
• DataColumnMapping: vínculo lógico existente entre una columna de un objeto del
DataSet y la columna física de la tabla de la base de datos.
• DataTableMapping: vínculo lógico existente entre una tabla del DataSet y la tabla
física de la base de datos.
21. Capa de Negocio
Esta capa estará representada dentro de la solución por un proyecto de tipo
Class library en el cual se encontraran las diferentes clases de tipo Manager
para cada una de las pantallas de la aplicación.
Esta capa será la encargada de conectar la capa de Acceso a datos con la capa
de Presentación, en esta capa se utilizara la capa de Infraestructura
Transversal a toda la aplicación con lo cual solo viajara a través de ella, clases
de tipo entidad, colecciones o tipos de datos nativos de Framework .NET.
22. Capa Manejo de Datos
Esta capa intermedia entre la capa de lógica de negocios y de Acceso a
datos es la encargada de enviar los diferentes sentencias SQL a la base
de datos para su ejecución, en esta capa van a estar las diferentes
sentencias o instrucciones SQL para realizar consultas de cualquier tipo
sobre la base de datos.
23. Capa de Infraestructura
Transversal
Esta capa es la encargada de la definición de los diferentes objetos y colecciones a
manejar en la solución.
En esta capa vamos a tener básicamente dos tipos de clases: las clases de tipo
Entidad (Entity) en las cuales se hace el mapeo de los datos de las diferentes tablas
que corresponden con cada una de las clases de tipo entidad.
Vamos a tener tantas clases de tipo entidad como tablas tengamos en la base de
datos, ya que se corresponden uno a uno.
24. Capa de Infraestructura
Transversal II
Las clases entidad van a seguir la siguiente
regla para su nombrado: el nombre de la tabla
de la base de datos a la que representa y el
sufijo Entity, las diferentes propiedades de la
clase serán del tipo de datos correcto de
acuerdo a los tipos de datos que expone el
Framework .NET
25. Capa de Infraestructura
Transversal III
El segundo tipo de clases en esta capa son las clases de tipo colección, estas
clases no contienen mayor código pues toda la funcionalidad para el manejo de las
colecciones ya viene implementado en el propio Framework de .NET y lo podemos
utilizar al heredar de la esta clase creando nuestras propias colecciones.
using System.Collections.ObjectModel;
namespace SisbenNetMovil
{
public class Usuarios : Collection<UsuarioEntity>
{
}
}
Para crear estas colecciones debemos agregar la referencia al proyecto de
System.Collections si no está agregada, agregar el using de
System.Collections.ObjectModel y la clase hacerla que herede de Collections<T>.
26. Capa de Acceso a Datos
Esta capa es la que interactúa directamente con la base de datos, en esta capa
vamos a utilizar ADO.NET que implementa Framework .NET para conectarnos
a la base de datos y realizar las diferentes operaciones que necesitemos sobre
el repositorio de datos.
Esta capa si es necesario se podría cambiar para adaptarla a un motor de base
de datos diferente de SQL Server sin afectar en gran medida las capas
superiores.