kgalarza95 /
modal_android
Ejemplo del uso de modales en andorid studio con Java. Modal simple, modal personalizado y modal con lista de opciones.
Loading repository data…
luisburgos / repository
Ejemplos simples del uso de patrones de diseño.
Christopher Alexander dice “Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para luego proponer el núcleo de la solución, de tal forma que esa solución puede ser usada millones de veces sin siquiera hacerlo dos veces de la misma forma”.
En otra definición, “Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.”
La siguiente es una lista de patrones de diseño con descripciones breves y con aplicaciones en ejemplos muy sencillos de entender. En algunos casos se trata de recopilaciones de otros autores, a los que se podrá acceder para ampliar la información.
Relativos al proceso de creación de un objeto.
Composición de clases u objetos.
Forma en que las clases u objetos interaccionan y distribuyen funcionalidades.
Propósito: Definir una familia de algoritmos, encapsular cada uno, y que sean intercambiables. Strategy permite al algoritmo variar independientemente de los clientes que lo utilizan.
Aplicación: Usamos el patrón Strategy cuando queremos...
Ejemplos:
Propósito: Definir una dependencia de uno a muchos entre los objetos de manera que cuando un objeto cambia de estado, todos los que dependen de él son notificados y se actualizan automáticamente.
Los Observers se registran con el Subject a medida que se crean. Siempre que el Subject cambie, difundirá a todos los Observers registrados que ha cambiado, y cada Observer consulta al Subject que supervisa para obtener el cambio de estado que se haya generado.
En Java tenemos acceso a la clase Observer mediante java.util.Observer
Aplicación: Usamos el patrón Observer cuando...
Ejemplos:
El ejemplo de Subasta presenta una variante distinta de muchas fuentes en Internet de este patrón, usaremos una clase Evento para controlar los sucesos a los que los Observers responderan.
Propósito: Definir una interface para crear un objeto, dejando a las subclases decidir de que tipo de clase se realizará la instancia en tiempo de ejecución. Reducir el uso del operador new.
Crear objetos en una clase usando un método factory es más flexible que crear un objeto directamente. Es posible conectar la generación de familias de clases que tienen comportamientos en común. Elimina la necesidad de estar haciendo binding (casting) hacia clases específicas dentro del código, ya que éste sólo se entiende con las clases abstractas.
Aplicación: Usamos el patrón Factory...
Ejemplos:
Propósito: Proveer una interfaz para la creación de familias u objetos dependientes relacionados, sin especificar sus clases concretas.
Es una jerarquía que encapsula muchas familias posibles y la creación de un conjunto de productos. El objeto "fábrica" tiene la responsabilidad de proporcionar servicios de creación para toda una familia de productos. Los "clientes" nunca crean directamente los objetos de la familia, piden la fábrica que los cree por ellos.
Aplicación: Usamos el patrón Abstract Factory...
Ejemplos:
Propósito: Componer objetos en estructuras de árbol que representan jerarquías de un todo y sus partes. El Composite provee a los clientes un mismo trato para todos los objetos que forman la jerarquía.
Pensemos en nuestro sistema de archivos, este contiene directorios con archivos y a su vez estos archivos pueden ser otros directorios que contenga más archivos, y así sucesivamente. Lo anterior puede ser representado facilmente con el patrón Composite.
Aplicación: Usamos el patrón Composite...
Ejemplos:
Propósito: Asegurar que una clase tenga una única instancia y proporcionar un punto de acceso global a la misma. El cliente llama a la función de acceso cuando se requiere una referencia a la instancia única.
Aplicación: Usamos el patrón Singleton...
Ejemplos:
Propósito: Separar la construcción de un objeto complejo de su representación para que el mismo proceso de construcción puede crear diferentes representaciones.
Nos permite crear un objeto que está compuesto por muchos otros objetos. Sólo el "Builder" conoce a detalle las clases concretas de los objetos que serán creados, nadie más.
En este patrón intervienen un "Director" y un "Builder". El "Director" invoca los servicios del "Builder" el cual va creando las partes de un objeto complejo y al mismo tiempo guardo un estado intermedio de la construcción del objeto. Cuando el producto se ha construido por completo el cliente recupera el resultado.
A diferencia de otros patrones creacionales que construyen productos de una sola vez, el patrón "Builder" construye paso a paso los productos bajo el control del "Director".
Aplicación: Usamos el patrón Builder cuando queremos...
Ejemplos:
Propósito: Especificar varios tipos de objetos que pueden ser creados en un prototipo para crear nuevos objetos copiando ese prototipo. Reduce la necesidad de crear subclases.
Aplicación: Usamos el patrón Prototype...
Ejemplos:
Como cualquier adaptador en el mundo real este patrón se utiliza para ser una interfaz, un puente, entre dos objetos. En el mundo real existen adaptadores para fuentes de alimentación, tarjetas de memoria de una cámara, entre otros. En el desarrollo de software, es lo mismo.
Propósito: Convertir la interfaz (adaptee) de una clase en otra interfaz (target) que el cliente espera. Permitir a dos interfaces incompatibles trabajar en conjunto. Este patrón nos permite ver a nuevos y distintos elementos como si fueran igual a la interfaz conocida por nuestra aplicación.
Aplicación: Usamos el patrón Adapter...
Ejemplos:
Selected from shared topics, language and repository description—not editorial ratings.
kgalarza95 /
Ejemplo del uso de modales en andorid studio con Java. Modal simple, modal personalizado y modal con lista de opciones.
Proyect Name: java-academy-services-studentName Ejemplo: java-academy-services-isaacdiaz Context-Root: /academy/ Deberá tener un Resource: /student El resource deberá soportar 2 operaciones: POST /academy/student (registrar nuevo student, o registrar nuevo course). Deberán definir el JSON a enviar en el request, de acuerdo con el esquema de DB de abajo. El POST deberá retornar como respuesta el ID del student generado: <student><id>25</id><student> GET /academy/student/id Deberá retornar el mismo JSON que se envió en el request, con un campo adicional: <fullname> <fullname>: será la concatenación de FIRST_NAME + LAST_NAME Por ejemplo: <fullname>ISAAC DIAZ MORENO</fullname> Deberan tener los siguientes niveles en su estructura: Controller -> Service -> Respository --------------------------------------- Base de Datos Para la base de datos deberán usar H2. Es una base de datos online muy simple de usar. Referencia: https://www.baeldung.com/spring-boot-h2-database La Tabla de estudiantes deberá ser definida con los siguientes campos: ID (NUMBER): autogenerado FIRST_NAME (VARCHAR 255): recibido en el request LAST_NAME (VARCHAR 255): recibido en el request BIRTH_DATE(DATE): recibido en el request GENDER (VARCHAR 1): recibido en el request (M / F) En el nivel “Repository” deberan usar JPA/Hibernate para conectarse a la DB para insertar o consultar información. Extra: Realizar Junit de cada una de las clases y métodos.
Juanjors /
Ejemplos simples del uso de Sockets en Java.
danielvazquez89 /
Ejemplo simple del uso de sockets
brayandeveloper98 /
ejemplo simple del patron mvc
victryx /
Un ejemplo de uso simple del algoritmo de cifrado RSA