Skip to content

heraldo-sv/JAVA_EE_Design_Patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JAVA EE Design Patterns

JAVA Photon

Uso de patrones de diseño de software en JAVA Enterprise Edition

  • Singleton: Su intención consiste en garantizar que una clase solo tenga una instancia y proporcionar un punto de acceso global a ella.
  • Factory: El objetivo es, devolver instancias de una clase en particular por medio de algún identificador.
  • Abstract Factory: Viene a decir que tienes una súper fábrica o una fábrica de fábricas, es decir, si necesitas un objeto, debes indicar primero que fabrica va a producirlo, para luego obtener la instancia del objeto deseado.
  • Prototype : El objetivo es crear una nueva instancia con los valores clonados o copiados de otra instancia, es decir, si nosotros tenemos un objeto con valores ya establecidos (parámetros), podemos tener uno nuevo con los mismos valores sin pasar por la asignación manual.
  • Facade: Viene a ser un patrón estructural, el cual, su ubico objetivo es, ocultar o simplificar la complejidad que pueda tener nuestra aplicación, para que el cliente tenga un único punto de acceso muy fácil y poder utilizar el sistema sin saber que hay por dentro.
  • Decorator: Lo que ofrece es que podamos agregar funcionalidades a un objeto existente sin alterar su estructura, para que no haya necesidad de modificar código de la clase base.
  • Proxy: Básicamente lo que indica es tener un envoltorio que permita tener acceso al objeto real o final que se necesita manipular, en pocas palabras: encapsular la complejidad del objeto y acceder a el mediante un intermediario.
  • Command: Lo que promueve es la encapsulación de la petición de alguna operación de algún método, podría decirse que podremos tener acceso a los métodos por medio de una ruta, dirección o canal, el objetivo es tener un enfoque orientado a comandos.
  • Memento: Lo que quiere proponer es el guardado del estado de alguna operación, por ejemplo, se puede reestablecer el estado de un objeto antes de una o varias operaciones, es como un rol back, pero a través de un punto definido.
  • Observer: Este patrón usa 3 actores (clases): sujeto, observador y cliente, básicamente cuando el sujeto cambie su estado, va a notificar a su lista de observadores para determinar alguna acción u procesamiento para el cliente.
  • Strategy: Prácticamente lo que menciona el patrón, es que se puede definir familias de algoritmos, encapsularlos y hacerlos intercambiables, el patrón permite que los algoritmos sean independientes a los clientes donde se esté utilizando.
  • DAO: Menciona que puedes abstraer la lógica de acceso de un conjunto de operaciones, es muy común utilizar este patrón para operaciones a base de datos.
  • Dependency injection: Patrón orientado a objetos, en el que se suministran objetos a una clase en lugar de ser la propia clase la que cree dichos objetos. Esos objetos cumplen criterios que necesitan nuestras clases para poder funcionar (de ahí el concepto de dependencia).

Antipatterns

Bad practices: Por acá comparto un enlace donde explican las malas prácticas (Anti patrones) al momento de construir software.

About

JAVAEE: Software design patterns

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages