From 695c618c0076fa02a7d9500d7b059ea75f8c5604 Mon Sep 17 00:00:00 2001 From: Jesus Antonio Escamilla Date: Thu, 27 Jun 2024 04:47:31 -0600 Subject: [PATCH] #26 - JavaScript --- .../javascript/JesusAntonioEEscamilla.js | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Roadmap/26 - SOLID SRP/javascript/JesusAntonioEEscamilla.js diff --git a/Roadmap/26 - SOLID SRP/javascript/JesusAntonioEEscamilla.js b/Roadmap/26 - SOLID SRP/javascript/JesusAntonioEEscamilla.js new file mode 100644 index 0000000000..eaa57fcdee --- /dev/null +++ b/Roadmap/26 - SOLID SRP/javascript/JesusAntonioEEscamilla.js @@ -0,0 +1,70 @@ +/** #26 - JavaScript -> Jesus Antonio Escamilla */ + +/** + * Los principios SOLID son un conjunto de cinco principios de diseño orientados a objetos que buscan hacer + el software más comprensible, flexible y mantenible. + * Principio de Responsabilidad Única (Single Responsibility Principle - SRP) + * Una clase debe tener una, y solo una, razón para cambiar. En otras palabras, una clase debe tener una + única responsabilidad o propósito. + */ + +//---EJERCIÓ--- +// INCORRECTA +class User_Incorrecto{ + constructor(nombre, email){ + this.nombre = nombre, + this.email = email + }; + + getUserData(){ + return{ + nombre: this.nombre, + email: this.email + }; + } + + saveToDatabase(){ + console.log(`Guardando el usuario ${this.nombre} en la base de datos`); + } +} + +// Uso del ejemplo Incorrecto +const user1 = new User_Incorrecto('Jesus', 'jesus_20@gmail.com'); +console.log(user1.getUserData()); +user1.saveToDatabase(); + +// CORRECTO +class User_Correcto{ + constructor(nombre, email){ + this.nombre = nombre; + this.email = email; + } + + getUserData(){ + return{ + nombre: this.nombre, + email: this.email + }; + } +} + +class UserRepository{ + saveToDatabase(user){ + console.log(`Guardando el usuario ${user.nombre} en la base de datos`); + } +} + +// Uso de Ejemplo Correcto +const user = new User_Correcto('Antonio', 'antonio_25@hotmail.com'); +console.log(user.getUserData()); + +const userRepository = new UserRepository(); +userRepository.saveToDatabase(user); + + + +/**-----DIFICULTAD EXTRA-----*/ + +// Pendiente + +/**-----DIFICULTAD EXTRA-----*/ \ No newline at end of file