Qué es la piedad? Tener 3,1416 año
Este trabajo tiene como único objetivo el 5 del compañero José para que termine con 5 la asignatura y le pueda hacer el siguiente baile a Baster.
Cuál es el Pokemon más tonto? Pikachu porque Pika Pika y no se rasca
Aquí están todos los requisitos que los queridos profesores quien ver implementados
- Los nombres de las entidades, atributos, métodos, interfaces, etc. deben ser descriptivos y en inglés.
- El diseño de la interfaz debe ser sencillo, consistente y atractivo para el usuario.
- El usuario debe manipular directamente los componentes teniendo el control de la aplicación.
- Las acciones del usuario deben ser reversibles.
- Debe existir una correcta manipulación de los errores.
- La entrada a la aplicación debe ser a través de una interfaz gráfica de autenticación (por definir).
- Hacer uso de los comentarios en la codificación. Al menos las funcionalidades deben tener comentarios en su encabezado.
- Se debe garantizar la gestión (creación, lectura, eliminación y modificación) de todas las entidades del problema.
- Los reportes deben ser parametrizables.
Has entrado alguna vez en un laberinto? Pues no sabes lo que te pierdes
Debido a que cada uno tiene una configuración distinta de la base de datos en su máquina y estamos usando NetBeans (que ya lo odio y eso que sólo he movido dos carpetas). Hay que crear variables de entorno para cada uno de nosotros.
Son básicamente variables que se declaran desde un IDE o un archivo de configuración que vayan a ser usadas en la aplicación. Pero estas a diferencia de cualquier otro tipo de variable no son las mismas en todas las computadoras.
Se debe dar click derecho en el proyecto e ir a Properties -> Run
, crear una nueva configuración para que siempre que se de play se inicie el programa se arranque la clase Main, con las siguientes variables de entorno:
DATABASE_NAME
DATABASE_PASSWORD
DATABASE_USERNAME
DATABASE_PORT
Al definirlas todas deben tener la
D
delante. No tengo idea por qué
Esto permite que se pueda acceder a ellas de la forma:
System.getProperty('DATABASE_NAME');
System.getProperty('DATABASE_USERNAME');
System.getProperty('DATABASE_PASSWORD');
System.getProperty('DATABASE_PORT');
Añadir la librería de postgres que se encuentra dentro de la carpeta
lib
. Investigar como hacerlo en NetBeans (que lo odio) que es de forma diferente a Eclipse (que lo odio también) aunque es muy parecida.
|--- src
|--- dto
|--- exceptions
|--- services
|--- utils
|--- visual
Menos la carpeta
utils
yservices
todas estan separadas por módulos, o sea cada una representa una entidad del proyecto y en ella van a estar las clases correspondinetes a las funcionalidades de la carpeta en la que se encuentren
Basicamente son las funciones que concentrarán toda la lógica de cada entidad crear
, eliminar
, modificar
, leer
, etc. Utilizando los DTO como argumentos para los que sean necesarios. Un ejemplo de implementación sería:
// UserServices.java
public class UserServices{
public void createUser(CreateUserDTO createUserDTO){
// logica de crear usuario
}
public void deleteUser(DeleteUserDTO deleteUserDTO){
// logica para eliminar un usuario
}
public void updateUser(UpdateUserDTO updateUserDTO){
// logica para actualizar un usuario
}
public List<ReadUserDTO> getAllUser(){
// logica para leer los usuario de la base de datos
}
}
- Todos los nombres de los archivos deber terminar en Services
- Todos los servicios deben ser importados desde una clase ya escrita que se llama
ServicesLocator
(porque les salió del tubo a los profesores)import src.cu.edu.cujae.structbd.services.ServicesLocator ServicesSelector.UserServices.readUsers()
En este proyecto nos piden que utilicemos el patrón DTO (Data Transfer Object) que aunque suene a un patrón utilizado en facebook es bastante easy. En esta carpeta irán en cada módulo o carpeta las clases que tendrán los parámetros necesarios para realizar cierta operación
Antes implementabamos de forma errónea las funciones de la lógica de esta forma
public void createUser(String username, int age){
// logica para crear el usuario
}
🎵 Insertar música de comercial 🎵 Pero ahora con el grande y único patrón DTO podrás tener más orden a la hora de declarar tus funciones de mierda, como por ejemplo lo que viste anteriormente lo podrás hacer de esta forma:
// CreateUserDTO.java
public class CreateUserDTO{
private String username;
private int age;
}
// UserServices.java
public class UserServices{
public void createUser(CreateUserDTO createUserDTO){
// logica
}
}
- Todos los nombres de archivos deben terminar en
DTO
Aquí estarán todas las excepciones pertenecientes a cada módulo. Preferiblemente dedicadas a validaciones de formularios o de parámetros
- Todos los nombres de archivos deben terminar en
Exception
- LAS EXCEPCIONES EN CUANTO A VALIDACIONES DEBEN ESTAR EN LA LÓGICA NO SE DEBE ESPERAR A QUE LA BASE DE DATOS DISPARE UN ERROR DEBIDO A QUE ESTE SE HACE MUY DIF�?CIL DE IDENTIFICAR. Ejemplos: nombres vacios, edades menores que 0, etc.
Hasta este momento el compañero Héctor no tiene mucha idea de que va aquí. Lo más probable es que sean clases dedicadas a la conexión con las bases de datos, modificación de textos, etc.
Contiene las ventanas de la UI
- Todos los nombres de archivos deben terminar en
UI
- NO DEBE HABER LÓGICA EN LOS ARCHIVOS UI, SÓLO LLAMADAS A SERVICIOS
Cómo convertir un burro en una burra? Guardarlo en el garaje, hasta que se aburra
Como somos un equipo sexy y democrático vamos a repartir de forma justa los módulos asi cada uno se puede encargar de cada entidad sin necesidad de estar tocando código de otro. Como hay 11 entidades y yo soy el único negro del equipo voy a coger 3 pero cogere el Team
que considero que es el más difícil.
Cada uno va a tener que implementar de cada entidad que le toque:
- dto
- services
- visual
- exceptions
⚠️ LEAN LOS REQUISITOS COÑO
- ⭕ Phase
- ⭕ Coach
- ⭕ Player
- ⭕ Province
- ⭕ Game
- ⭕ Position
- ⭕ Team_member
- ⭕ Pitcher
- ⭕ Team
- ⭕ Batter
- ⭕ Stadium
Will Smith antes era Was Smith ?