Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patrones de diseño identificados #1

Open
MichArceS opened this issue Aug 10, 2020 · 0 comments
Open

Patrones de diseño identificados #1

MichArceS opened this issue Aug 10, 2020 · 0 comments

Comments

@MichArceS
Copy link

Singleton
Motivación: El repositorio contiene una clase llamada ConexionUtility donde, su principal funcionalidad, es realizar una conexión con la base de datos utilizada en el proyecto. En esta clase es importante tener un Singleton ya que puede existir la posibilidad de que se puedan crear diferentes instancias innecesarias de la misma.
Objetivo: Asegurar la existencia de una única instancia de esta clase para que no existan problemas con muchas conexiones a la base de datos.
Consecuencias: Obtendríamos la seguridad de que no se crearan diferentes conexiones a la base de datos, lo cual ahorraría problemas que se pudieran generar con ella.

Decorator
Motivación: En este proyecto se pueden realizar diferentes compras, y cada una de estas compras se materializan en una clase llamada Venta, y esta última tiene sus detalles en una clase llamada DetalleVenta.
Objetivo: Obtener una manera segura de alterar los detalles de una venta sin necesidad de crear nuevas instancias de la clase.
Consecuencias: Se podrá cambiar los detalles de una venta de forma segura y sin tener que instanciar más clases.

Observer
Motivación: Existen clases que necesitan ser notificadas cuando se realiza cierta acción. En el proyecto está realizada esta tarea con otros medios, pero la utilización del patrón Observer haría el trabajo más sencillo de realizar y de entender.
Objetivo: Poder realizar notificaciones a diferentes controladores para que realicen acciones especificas cuando su estado era actualizado mediante los observadores.
**_Consecuencias:
Decorator
DecoratorAntes
Observer
ObserverAntes
Singleton
SingletonAntes

_** Podremos reducir el acoplamiento que existía anteriormente. También podremos tener notificaciones y actualizaciones más precisas y, en el caso de necesitar más observadores, podremos agregarlos sin tener que alterar los sujetos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant