dangelodiego / Proyecto-Program-Lab

1 stars 0 forks source link

Establecer transaccion MD #2

Open nicolasgeronimorodi opened 1 year ago

nicolasgeronimorodi commented 1 year ago

-Representar la BD en clases del dominio -Separar con facade -Implementar el patron singleton para tener una sola conexion

dangelodiego commented 1 year ago

Nico ahi vi lo que estuviste avanzando. Genial. Estuve viendo las clases de Pollioto y dice que el facade es "la puerta de entrada" de la api a los datos, entonces los modificadores de acceso de dicha carpeta deberían ser todos publicos. Pero los de datos como la intarface e implementacion deberían quedar internal para que queden protegidos fuera del ensamblado. La api solo conoce la facade

dangelodiego commented 1 year ago

Ahi vi las entidades: En las clases Alumno y Profesor, Persona esta como un atributo de cada clase (es decir como una relacion de asociación "tiene un") me parece que quedaría mejor si pusieramos herencia es decir que alumno y profesor hereden de persona. Luego podríamos agregar un constructor sin parametros en persona por las dudas

nicolasgeronimorodi commented 1 year ago

Nico ahi vi lo que estuviste avanzando. Genial. Estuve viendo las clases de Pollioto y dice que el facade es "la puerta de entrada" de la api a los datos, entonces los modificadores de acceso de dicha carpeta deberían ser todos publicos. Pero los de datos como la intarface e implementacion deberían quedar internal para que queden protegidos fuera del ensamblado. La api solo conoce la facade

Genial, tomo nota,

Ahi vi las entidades: En las clases Alumno y Profesor, Persona esta como un atributo de cada clase (es decir como una relacion de asociación "tiene un") me parece que quedaría mejor si pusieramos herencia es decir que alumno y profesor hereden de persona. Luego podríamos agregar un constructor sin parametros en persona por las dudas

Pensé hacerlo con herencia pero durante la última parte de la materia me parece que estuvimos trabajando más bien con instancias de clase como properties de otra. También un poco tiene que ver con uno de los principios del paradigma de objetos que se llama Composition over inheritance. https://en.wikipedia.org/wiki/Composition_over_inheritance


Al margen de esto, hay algunas entidades que si bien estan representadas como clase podrían ser enumeraciones, por ej los turnos de examen. Ya me voy a poner a ver si se podría implementar eso.

dangelodiego commented 1 year ago

Pensé hacerlo con herencia pero durante la última parte de la materia me parece que estuvimos trabajando más bien con instancias de clase como properties de otra. También un poco tiene que ver con uno de los principios del paradigma de objetos que se llama Composition over inheritance. https://en.wikipedia.org/wiki/Composition_over_inheritance

Bien gracias por compartirlo ahi lo estuve leyendo no se si me genero mas dudas jaja. Por lo que entendí aplicar composition over inheritance es cuando estamos buscando aplicar polimorfismo en el sentido de poder que nuestros objetos tengan los comportamientos definidos en otras clases, para esto para generar abstraccion y una buena implementacion uno debe preguntarse cuales son dichos comportamientos y establecerlos en interfaces que luego seran implementadas. En nuestro caso no estamos solamente persiguiendo compartir los atributos de una clase en otra?

dangelodiego commented 1 year ago

Al margen de esto, hay algunas entidades que si bien estan representadas como clase podrían ser enumeraciones, por ej los turnos de examen. Ya me voy a poner a ver si se podría implementar eso.

Genial esto!