Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como C#

Principio de Inversión de Dependencia (DIP) – SOLID explicado con ejemplos

Estamos cerrando este ciclo de definiciones para SOLID , y en esta entrada vamos a dar un vistazo al último principio de la lista: DIP o Dependency Inversion Principle . El Principio de Inversión de Dependencia (DIP) establece que: Los módulos de alto nivel no deben depender de módulos de bajo nivel. Ambos deben depender de abstracciones. Las abstracciones no deben depender de los detalles. Los detalles deben depender de las abstracciones. El Problema de la Dependencia Directa Imaginate que estás construyendo una aplicación que envía notificaciones. Para empezar rápido, decidís crear un controlador que usa directamente un servicio de correo electrónico: public class NotificationController { private EmailNotificationService _service = new EmailNotificationService (); // Acá tenemos dependencia directa } Al principio, todo parece estar bien. El controlador puede enviar correos sin problema. Pero luego surge un requisito: ta...

Paginando listados - CRUD MVC .NET Framework

En el desarrollo de aplicaciones web, es común lidiar con grandes volúmenes de datos. La paginación es una técnica útil que permite dividir los datos en partes más pequeñas y manejables. En esta entrada del blog, exploraremos cómo implementar la paginación en una vista que muestra un listado de videojuegos utilizando X.PagedList en una aplicación ASP.NET .Framework MVC5 con Entity Framework. X.PagedList es una biblioteca en .NET que se utiliza para la paginación de datos en aplicaciones web, especialmente en ASP.NET MVC. Su propósito principal es ' dividir ' grandes conjuntos de datos en páginas más pequeñas, facilitando la navegación y el rendimiento de las aplicaciones. Existen dos versiones populares de esta biblioteca actualmente: PagedList.Mvc (Más antigua, ya no mantenida oficialmente) X.PagedList (Versión más moderna y recomendada) Funciona tanto para .NET Framework como para .NET Core y .NET 5+ ....

Guerras de Código: kata WeIrD StRiNgS CaSe

En la entrada anterior, hablamos de Codewars , una plataforma online de código que transforma los desafíos de programación en un campo de batalla lleno de creatividad y aprendizaje.  Hoy, vamos a poner en práctica lo que estuvimos comentando, resolviendo uno de los kata (ejercicios) que me pareció interesante llamado: " WeIrD StRiNg CaSe ". Si aún no estás familiarizado con este tipo de problemas, te cuento que este kata pertenece al nivel de dificultad intermedio aproximadamente y nos reta a jugar con las cadenas de texto de una manera peculiar. La idea es transformar un texto común en uno donde las posiciones pares de cada palabra se convierten en mayúsculas y las impares en minúsculas. Por ejemplo:      "Hola mundo" → "HoLa MuNdO" El desafío no solo pone a prueba tu lógica y manejo de cadenas, sino también tu habilidad para dividir el problema en pasos más pequeños y abordarlos poco a poco.  A lo largo de esta entrada,...

Codewars

Como algunos ya saben, soy un gran entusiasta de las plataformas en línea dedicadas a la educación y al entrenamiento de habilidades, lo que podríamos llamar "gimnasios mentales". Hoy quiero presentarles, o tal vez recordarles, una de mis favoritas: Codewars, conocida también como " Guerras de Código " en español. Si aún no la conocían, los invito a explorarla. Y si ya la conocían, este es un buen momento para redescubrirla y sacarle más provecho. ¿Qué es Codewars? Codewars es una plataforma educativa en línea diseñada como un juego para entrenar habilitades de programación. fue fundada en noviembre de 2012 por Nathan Doctor y Jake Hoffner . La idea surgió durante una competencia de Startup Weekend ese mismo año, donde desarrollaron un prototipo que obtuvo el primer lugar. En la actualidad, Codewars es propiedad de Qualified , una empresa tecnológica que ofrece una plataforma para evaluar y entrenar habilidades en ingeniería de software. Con esta herramienta pod...

Creando un Proyecto con Entity Framework - Parte 2

Bienvenidos nuevamente. Si estás en este post, significa que ya completaste la primera parte de esta guía, donde preparamos la base para nuestro proyecto con Entity Framework. Ahora, es momento de continuar exactamente donde lo dejamos, profundizando en los siguientes pasos clave: Eliminar redundancias del modelo para optimizar nuestra estructura de datos. Crear el proyecto de consola, donde conectaremos nuestro modelo con el código funcional. Instalar y configurar Entity Framework, asegurándonos de tener todo listo para interactuar con nuestra base de datos. 💡 Si todavía no viste la primera parte, te recomiendo revisarla para estar al día: Click para acceder a la Parte 1 1. Eliminar redundancias del modelo En el modelo .edmx, las redundancias ocurren cuando una propiedad aparece duplicada como una FK y como una propiedad de navegación. Por ejemplo, en la entidad Articulo, tenemos tanto la propiedad CodigoCat (FK) como la propiedad de navegación Categoria. Si...