Giter VIP home page Giter VIP logo

zoologicopoo's Introduction

Administración de Zoologico

Proyecto de la asiganatura Programación Orientada a Objetos de la Universidad Rafael Urdaneta.
Realizado por Gerardo Torres C.I.: 29.869.119
Documentación hecha en Draw.io
Version 1.5

zoologicopoo's People

Contributors

gistypical avatar

Stargazers

Nathalie Zambrano avatar  avatar

Watchers

 avatar  avatar

Forkers

kathmoralest

zoologicopoo's Issues

Patron de Diseño Singleton

Este reporte de problema es parte de una actividad académica.

Hola,

Escribo para hacer una sugerencia en el diseño de la clase ClientDB, donde se podria implementar el patron SINGLETON
La idea del patrón Singleton es asegurar que una clase sólo tenga una instancia, y proporcionar un punto de acceso global a ésta. En este caso sería adecuado escribir un Singleton para que sea llamada una vez la base de datos del programa.
adjunto UML

database

Sugerencia de implementacion depatrón Abstract Factory Mehtod

Hola revise el programa y te propongo posibles implementaciones de patrones de diseño que mejoraran el funcionamiento y organización del código ya existente.

Identifique que es posible utilizar Abstract Factory Mehtod.
El motivo por el cual se sugiere utilizar este patrón es porque dentro del programa existen muchos tipos animales que pertenecen al zoológico tales como anfibios, aves, peces, mamíferos y reptiles.
Para poder organizar de mejor manera el código se crea interfaces para cada tipo de animal con sus características específicas correspondientes. También se implementa una interfaz general llamada “Animales” que nos sirve como comunicador entre las interfaces de cada especie con la clase Zoológico.
Es muy importante esta implementación ya que aunque aumenta la cantidad de código y de clases y puede resultar un poco largo y tedioso ayuda mucho a la organización, funcionalidad y reutilización del código.

Te adjunto tambien un diagrama de clases uml con la explicacion de lo antes mencionado.

Factory Abstract Method_UML.pdf

Builder

La clase animal se extienden algunos tipos de animales más complejos. Para diferenciar los diferentes tipos y representaciones puede ser utilizado el patrón Builder.
image

Adapter

El código base indicó que la interfaz AnimalComportamiento es utilizada para las diferentes subclases que extienden de la clase Animal. Se puede permitir una colaboración entre los objetos y sus comportamientos a través del patrón estructural adapter.
image

Sugerencia de implementacion de patrón de diseño Iterator

Revisando parte del código principal, veo que existe la implementación de varias listas donde se van a ir almacenando todas las instancias de tipo Animal que vas creando y es correcto. Una buena sugerencia para cuando quieras trabajar con esta estructura o cualquier estructura de datos que sea incluso más compleja, es mediante la implementación de un patrón de diseño Iterator, creando una interfaz de alto nivel, de tal manera que puedas acceder a los datos de forma secuencial con diferentes tipos de recorridos, en este caso cada ArrayList, sin que sea necesario conocer la estructura interna de la misma, aplicando el concepto de abstracción.

Patrón Iterator.pdf

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.