Mauricio Restrepo Marin's repositories
BuilderPattern-PatatasAlAireAxm-Backend
Este repositorio contiene el backend para PatatasAlaireAxm.com, una tienda de comidas rápidas. Implementa el patrón de diseño Builder para la creación dinámica de objetos. Con un enfoque flexible, permite elegir constructores específicos según las necesidades, proporcionando modularidad y eficiencia en la generación de objetos.
FactoryMethod-Pattern-Of-Design-Type-Objects-Creational
Factory Method Pattern: Encourages encapsulation by defining an interface for creating objects, letting subclasses alter the type of objects. Provides flexibility, extensibility, and a clear separation of concerns in object creation. Ideal for scenarios where subclasses need to control the instantiation process.
NavBikesApp_iaPrototypeGame
El siguiente código permite la creación y clonación en tiempo de ejecución de prototipos de naves espaciales tipo ASCII, denominadas NavBikes. Este enfoque resulta especialmente útil cuando se necesita crear un escuadrón o una flota de NavBikes sin consumir excesivos recursos de memoria RAM en la máquina. El patrón de diseño utilizado es Prototipo.
PrototypePatternBmxApp
El Patrón de diseño Prototype es un Patrón Creacional que se utiliza para crear nuevos objetos a partir de un prototipo existente, clonando y modificando sus propiedades según se requiera. Por tanto, éste Repositorio busca clonar la cantidad de objetos necesarios para la manufactura de un lote de marcos de Bmx, desde un Prototipo previamente creado
SingletonPattern-getInstance-LazyInitialization-GlobalInstance
Singleton Pattern in Java: Example showcasing the creational Singleton pattern. Ensures a single instance, offering global access. Ideal for understanding and applying design patterns in Java.
Adapter-Pattern-Energy-Interfaz
El patrón de diseño Adaptador permite que interfaces incompatibles trabajen juntas. Actúa como un puente entre dos interfaces, facilitando la integración de componentes existentes con nuevas clases sin modificar su código original.
ApiRestNodeJs
Desarrollo de una Api Rest en Node Js + Mongo db
BatteryManager-PowerShell
Ésta es una aplicación de escritorio para Windows mediante la cual podemos obtener datos en tiempo real acerca del estado de la batería de nuestro equipo de computo, haciendo uso de PowerShell de Windows y la librería JPowerShell del profesor Falken
BuilderPatternBurguerApp-ClassDirector-AbstractBuilder--ConcreteBuilder
Este repositorio ejemplifica el patrón Builder en Java para construir un objeto complejo (Burger) paso a paso. Se centra en un sistema de pedidos de comida rápida. El Director elige la clase Builder concreta según el objeto necesario, implementando una interfaz Builder abstracta.
ConcatenandoStrings
El siguiente codigo, concatena los elementos String de un array
Decorator-Structural-Design-Pattern
El patrón de diseño Decorator es una solución estructural que permite añadir funcionalidades adicionales a objetos de manera dinámica. Este patrón agrega comportamientos a objetos individuales sin afectar el comportamiento de otros objetos de la misma clase. El Decorator proporciona una alternativa flexible a la herencia para extender funcionalidad
EncapsulacionVarsPrivadasSet-Get
En éste fragmento de codigo java, declaramos diferentes tipos de variables privadas dentro de una clase externa al programa principal. Posteriormente accedimos mediante encapsulación usando metodos setter y getter para enviar y asignar parametros así cómo para obtenerlos posteriormente e imprimirlos en pantalla.
EstructurasDeControl
Ejercicios con estructuras de control en java
EventosGUI-ManejoParserJson-Xml
Manejo de eventos mediante Patrón Observador y manejo de archivos Json / Xml mediante ParseJson, ParseXml implementado Patrón de diseño Factory
FacadePatternConversionVideoFile
Continuando con mis estudios acerca de los patrones de diseño, agrego el patrón de diseño estructural Facade, el cual mediante un sencillo ejemplo de conversión de archivos de video: ilustra como éste proporciona una interfaz simplificada a un conjunto complejo de interfaces dentro de un sistema, ocultando complejidades y facilitando su uso
GetPriceIvaEjercicio2
Ejercicio 2 de Java Basic para calcular el valor del Iva sobre un valor
HerenciaClasePersona
Ejercicio de herencia sencilla utilizando propiedades y funciones desde la clase principal hacia las clases derivadas, utilizando metodo constructor, instancias de clases así como objetos.
Inheritance-Ejercicio4-Poo
Ejercicio con SuperClase y clase derivadas, haciendo uso de herencia de clases y polimorfimos para accerder tanto a atributos como a metodos de la clase principal
Interfaces-Ejercicio5-Poo
Entrega ejercicios tema 5: Crear una interfaz CocheCRUD. Crear una implementación CocheCRUDImpl
IteratorPatternIterUsers
El patrón de diseño Iterator proporciona una forma de recorrer los elementos de una colección sin exponer su estructura interna. Permite recorrer secuencialmente los objetos, ofreciendo un acceso uniforme y desacoplado, independientemente del tipo de colección.
MediatorPattern-PartnerClass
This project implements the Mediator design pattern, which centralizes communication between multiple components through a mediator object. This reduces direct dependencies between objects, facilitating system maintainability and extensibility by promoting a more modular and decoupled design.
ObserverPattern-ReceptorSuscribe
Esta es una implementación del patrón de diseño Observer. El cual es un patrón de comportamiento que define una relación de dependencia uno-a-muchos entre objetos, así cuando un objeto cambia de estado, o alguien se suscribe, todos sus dependientes son notificados y actualizados automáticamente.
ProgramacionFuncional-Lambda---Funciones-Puras-e-impuras-de-Alto-orden-y-recursividad
Aplicando el Paradigma de la programación funcional genero diferentes tipos de funciones, puras tipo lambda, así como de alto orden y de recursividad haciendo uso de head-recursion y tail -recursion
SumatoriaVariables-ClaseCoche
Software basico para la declaración y suma de variables
TiposDatos-AvanzadosV2
En ésta ocasión analizo varios tipos de datos Avanzados en Java, tales como ArrayList, BigDecimal para obtener resultados con mayor precisión que float o double, mapas, TreeMap, ,Vectores, manejo de excepciones, InputStream, BufferInputStream y StreamFunction para la lectura y procesamiento de archivos locales
TiposDeDatosAvanzadosOB
Profundizamos en los tipos de datos avanzados, resolviendo una serie de desafíos relacionados al manejo de datos, aplicando lo aprendido sobre los Arrays, ArrayList, HashMap, LinkedList, Vectores, Manejo de Excepciones, InputStream/PrintStream y haciendo uso adecuado de los fundamentos de la Programación Orientadas a Objetos sobre cada Clases.