2. 2/19
¿Qué es CSLA?
Framework de desarrollo .NET
Arquitectura eScalable de Componentes Lógicos
●
Component Scalable Logical Architecture
Mecanismo estandarizado de crear aplicaciones robustas orientadas a objetos
Gira en torno a los llamados Objetos de Negocio (Business Objects)
Algunas características clave
Toda la lógica de objeto de negocio está encapsulada en una misma clase, que son
los objetos de negocio
Esqueleto de la parte de servidor. Está implementado siguiendo el patrón CSLA--
●
versión descafeinada de CSLA en php
●
contiene algunos errores de limpieza del código
7. 7/19
util.js
Utilidades de javascript genéricas a toda mi aplicación
8. 8/19
jugador.php
Primer objeto de negocio
Regiones. Una clase de negocio está estructura en las siguientes:
1. Referencias externas
2. Propiedades
3. Constructor
4. Getters y Setters de las propiedades
5. Métodos de sobrecarga del objeto (ToString, IsEmpy, IsValid, IsNew,...)
6. Helpers o métodos auxiliares
7. Métodos públicos
8. Métodos de acceso a datos
9. Procedimientos almacenados
9. 9/19
Región 1: Referencias externas
Aquí van los include a otros ficheros que utiliza nuestro objeto de
negocio
10. 10/19
Región 2: Atributos
Son los atributos/campos propios del objeto
Deben ser declarados como privados
Separemos los propios de los genéricos (isValid, isEmpty,
isNew,...)
13. 13/19
Región 5: Sobrecarga de object
Métodos que deben contener TODOS los objetos de negocio
y que personalizamos para uno en concreto
●
ObtenerReglasRotas
●
IsValid
●
IsNew
●
IsEmpty
14. 14/19
Región 6: Helpers o métodos auxiliares
Métodos auxiliares que me ayudan a realizar una función que hace
el objeto
15. 15/19
Región 7: Métodos públicos
Métodos que ofrece el objeto hacia el exterior
Visibles desde fuera de la clase
16. 16/19
Región 8: Métodos de acceso a datos
Guardar
●
Guarda el objeto en base de datos
●
Distingue entre si es un objeto nuevo (insert) o se es uno ya existente (update)
●
Utiliza isNew para hacer esta distinción
Obtener
●
Método por defecto de recuperar un objeto desde bd
●
El método por defecto recupera por Id del objeto
Obtener_PorXXX
●
Otras formas de recuperar un objeto de base de datos
CargarRecordset
●
Carga los atributos del objeto a partir de una row de bd
Obtener_desdeLinea
●
Se utiliza para cargar colecciones (listas) de objetos
17. 17/19
Región 9: Procedimientos almacenados
Generación de la SQL del motor de BBDD que hallamos escogido
para nuestra solución
Devuelven la sql generada
Estos métodos tienen la siguiente notación:
●
XXX_P_<nombre del sp>
●
Ejemplo:
– CRN_P_CrearJugador
– CRN_P_ActualizarJugador
– CRN_P_ObtenerJugador_PorId
– ...
18. 18/19
jugadoresList.php
Colección de objetos de negocio
Su responsabilidad es manejar listas de jugadores
Internamente contiene un array que almacena objetos de la clase
Jugador
Acceso a datos
●
Obtener. Método por defecto que recupera todos los
jugadores
●
ObtenerConectados. Método que recupera sólo aquellos
jugadores que están conectados
19. 19/19
Base de datos: cronoDB
Crearemos una base de datos mySQL que se llamará cronoDB
En principio tendrá una única tabla que se llamará CRN_Jugadores
Esta tabla almacena toda la información asociada a los jugadores