Curso Avanzado de Java SE

Curso Avanzado de Java SE

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Ejercicio. Interfaz DAO

18/39

Lectura

Tengo un proyecto en el que he creado un API de métodos que manipulan el comportamiento de un Robot

kit-brazo-robotico-6-servomotores-6-gdl-S_516401-MEC20325145979_062015-F-1.jpg

El código que genera la conexión es de más bajo nivel y está encapsulado en una interfaz. Este está solo disponible para ser llamado dentro de la interfaz.

Existen también métodos de más alto nivel que definen el comportamiento del robot y están disponibles para ser llamados desde dónde se esté generando una instancia/objeto de ella.

¿Cuál es el concepto que estamos aplicando al tener capas disponibles y otras no disponibles en mi proyecto?

Explicanos más en la sección de comentarios.

Aportes 132

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Polimorfismo, Encapsulamiento, modularidad debido a que se manejan métodos de más alto nivel, de bajo nivel que se ocultan y se hace en módulos.

Encapsulamiento = ya que la interfaz esta pre definiendo una parte del comportamiento de las clases que la implementen, al contar ya con código de bajo nivel.

Polimorfismo = ya que la interfaz si bien tiene una parte del comportamiento definida, puede ser implementada por varias clases que terminen de definir el comportamiento como tal del robot.

Modularidad = ya que permite definir comportamientos por capas que definen métodos de alto nivel y métodos de bajo nivel.

En efecto, como ya han dicho varios, son 2 conceptos clave:
Modularidad
Encapsulamiento
Más info aqui: https://ferestrepoca.github.io/paradigmas-de-programacion/poo/poo_teoria/concepts.html

Modularidad y encapsulamiento

Modularidad y encapsulamiento

Encapsulamiento al generar metodos separados para cada instruccion y modularidad al no tener que analizar el codigo de bajo nivel.

Interfaz, Encapsulamiento, Poliformismo, Modularidad 😃

Modularidad, ademas les dejo un elnace para los uqe tengan ploblemas para cambair su version de Java en Eclipse, en este caso usando Java 11 y Eclipse Photon.

Modularidad por encapsulamiento en métodos private y default dentro de una interfaz

Modularidad y Encapsulamiento

El concepto aplicado se conoce como Interfaces avanzadas y por ende un nivel mas profundo de encapsulamiento, en donde los métodos private utilizados para el contacto directo con el hardware son exclusivo de la interfaz, y los métodos default a diferencia de los anteriores puedes ser llamados desde otras partes del proyecto

Estamos encapsulando la parte de comandos al robot y aplicando modularidad para que un programador pueda llamar a los metodos de la interfaz que manejen al robot sin necesidad de conocer el código de los métodos que están definidas en esta.

Principios de Modularidad, encapsulamiento.
Se podría usar interfaces avanzadas, usando default y private en ellas.

Encapsulamiento por medio de modificadores de acceso (default-private-protected, public).

Encapsulamiento y Modularidad

Modularidad y encapsulamiento.

encapsulamiento.

ok.

Yo destacaría el encapsulamiento que se implementa a través de la interfaz y la modularidad que se genera al trabajar con capas de la parte de bajo nivel con la parte de alto nivel.

También destacaría el polimorfismo, ya que al ser una interfaz su comportamiento puede variar.

Los metodos default y private son interface que terminan siendo la Modularidad

Modularidad y encapsulamiento.

Modularidad

Polimorfismo, modularidad y encapsulamiento

Interfaces Avanzadas, por medio de la modularidad y el encapsulamiento

Encapsulamiento y polimorfismo

Encapsulamiento.

Encapsulamiento

Encapsulamiento y Modularidad.Unas capas pueden ser vistas y otras no.

Encapsulamiento y Modularidad

Modularidad ya que el software va estar orientado a interfaces

Modularidad

Encapsulamiento

conceptos interfaz, encapsulamiento, modularidad

Modularidad y Encapsulamiento

---- MODULARIDAD —

encapsulamiento

Métodos default y private en una interface

Encapsulamiento y modularidad

Modularidad y encapsulamiento

Private para metodos que solo pueden ser accesados dentro de la misma interfaz. Pero no esta disponible para otras clases.
Default que es a la que pueden acceder otras clases, en el ejercicio serian los métodos de mas alto nivel.

Modularidad.

Este concepto define que el proyecto puede estar estructurado en módulos los cuales a su vez implementan pueden tener una abstracción de las interfaces con los métodos descritos como privates que no necesariamente tiene que ser conocidos por los programadores si no implementados por ellos.

Modularidad

Modularidad y encapsulamiento 😄

Modularidad y Encapsulamiento

Modularidad, ya que esta manejando el software en niveles/capas de mas genérico/entendible a código mas profundo y técnico.

Al tener partes del código ocultas y que el usuario no tiene por que saber de su función, estamos hablando del encapsulamiento.

Modularidad y Encapsulamiento

Conceptos de modularidad, encapsulamiento y interfaz. 😃

Modularidad y encapsulamiento

Modulalidad
Encapsulalamiento

Estamos manejando el concepto de modularidad donde ese pretende crear capas y darle reponsabilidades especificas a cada una de ellas

Modularidad y encapsulamiento, utilizando interfaces avanzadas

modularidad y encapsulamiento

¿Cuál es el concepto que estamos aplicando al tener capas disponibles y otras no disponibles en mi proyecto?

El concepto que se está aplicando es el de Modularidad, y la posibilidad de trabajar un proyecto por capas o módulos.

El concepto que se aplica es el de Modularidad y Encapsulamiento!

modularidad y encapsulamiento

Interfaces avanzadas en este caso estamos utilizando métodos default y private:

El private se utiliza en la interfaz que genera la conexión ya que esté esta solo disponible para ser llamado dentro de la propia interfaz.

El dafault se utiliza en los métodos que definen el comportamiento del robot, estos estarán disponibles para ser llamados desde dónde se esté generando una instancia de ese objeto.

Modularidad y encapsulamiento.

Modularidad y encapsulamiento

Modularidad y Encapsulamiento

Es el concepto de encapsulamiento

Los concepto utilizados son: modularidad, porque se trabaja en capas y encapsulamiento, porque parte del código parte del código de la interfaz no esta disponible fuera de esta.

Modularidad y Encapsulamiento.

Modularidad para definir el comportamiento del robot y encapsulamiento para encapsular o guardar el código de mas bajo nivel.

Encapsulamiento . Dado que definimos comportamientos propios que solo podrán ser usados en la interfaz. Osea ocultamos el estado de algunos componentes para que estos estados solo puedan cambiar con los métodos definidos dentro de la misma clase. Para el caso del ejercicio, las conexiones de bajo nivel cambiaran el comportamiento del objeto dentro de la misma interfaz, de tal forma que los métodos de mas alto nivel tomen el valor de estos estados para definir otros comportamientos. Y esto ultimo puede verse como Modularidad, dado que seccionamos o dividimos una funcionalidad en funcionalidades o partes mas pequeñas, como en el ejercicio, una funcionalidad que tenga conexiones de bajo nivel y otra que defina de mas alto nivel para tener la manipulación de un robot.

Encapsulamiento. Dado que definimos comportamientos propios que solo podrán ser usados en la interfaz. Osea ocultamos el estado de algunos componentes para que estos estados solo puedan cambiar con los métodos definidos dentro de la misma clase. Para el caso del ejercicio, las conexiones de bajo nivel cambiaran el comportamiento del objeto dentro de la misma interfaz, de tal forma que los métodos de mas alto nivel tomen el valor de estos estados para definir otros comportamientos. Y esto ultimo puede verse como Modularidad, dado que seccionamos o dividimos una funcionalidad en funcionalidades o partes mas pequeñas, como en el ejercicio, una funcionalidad que tenga conexiones de bajo nivel y otra que defina de mas alto nivel para tener la manipulación de un robot.

Cuando el código se trabaja con diferentes capas se usa el concepto de modularidad

Modularidad y Encapsulamiento

modularidad

La modularidad permite subdividir una aplicación en partes más pequeñas denominado módulos, cada un puede ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.

EL concepto que se está aplicando es el de interfaces avanzadas con los métodos default y private. Y todo esto es parte de concepto de Modularidad

-Modularidad: Ya que consiste en la propiedad que se tiene para sub dividir una aplicacion en partes mas pequeñas
private para aquellos metodos que se usaran dentro de la interfaz como tal.
public para aquellos metodos que se llamaran fuera de la interfaz.

Modularidad

Encapsulamiento al ocultar cierta lógica para que no este visible a otros objetos de nuestro programa.
Modularidad, al permitir tener implementaciones que puedan ser usadas por otros objetos e incluso modificadas.

Modularidad y encapsulamiento

Se usa el método de acceso private para el método que genera la conexión de bajo nivel.

Y métodos de acceso default para llamar al método privado y que estén disponibles en la clase que se implemente.

Este concepto se denomina polimorfismo y encapsulamiento.

Se esta aplicando la modularidad con el fin de facilitar el orden y el entendimiento del API que se define, en este caso la api para manejar un robot, donde pueden haber miles de métodos definidos de una manera muy compleja que a la practica cuando se vaya a utilizar en nuestro código no es necesario entenderlo de manera completa.

Encapsulamiento

Encapsulamiento al estar ocultando el comportamiento en las clases de bajo nivel, y modularidad ya que se define el comportamiento de cada parte del robot en diferentes métodos

Se aplica la modularidad de java, separando la parte de más bajo nivel de código, la cual el programador no tiene porque conocer, ya que lo que realizamos es la abstracción de esta parte del código, facilitando al programador métodos que realizan ciertas funciones en el robot, separando así la programación en diferentes capas de abstracción, teniendo disponible el código para el creador de la API y los métodos de funcionamiento del robot para el programador.

Modularidad

Modularidad y encapsulamiento.

Encapsulamiento al quitar accesibilidad al código de bajo nivel y Modularidad al separar en módulos los códigos de alto y bajo nivel.

Modularidad y encapsulamiento con modificadores de privacidad en los métodos.
“El código que genera la conexión es de más bajo nivel”: Metodo(s) privado(s).
“El código que genera la conexión es de más alto nivel”: Puede ser default o public.

Encapsulamiento ya que clasificamos las capas para que sean visibles bajo ciertas restricciones, igual que sucede cuando le damos la característica private a un atributo.

Encapsulación.

imagínense que en cada método en el que manipulemos las acciones del robot (abrirPinza(),_cerrarPinza(), etc) se este manipulando la corriente eléctrica que usa, aparte de ser código bastante repetitivo y redundante, esto representaría un problema cuando cambies el voltaje o de una corriente trifacica a una bifacia (yo que se no soy eléctrico), tendrías que modificar cada método.

Seria mejor encapsular esa manipulación eléctrica en un método aparte (método privado) dedicado enteramente a la manipulación eléctrica y solo lo mandaríamos llamar en los métodos de la lógica de negocio.

Modularidad y encapsulamiento

Modularidad y encapsulamiento, esto permite que el código de mas bajo nivel, este disponible para ser usado, pero no este a la vista del desarrollador, es decir no necesariamente tiene que entender que esta pasando por debajo.

encapsulamiento.

Modularidad y encapsulamiento.

Modularidad y encapsulamiento con los nuevos modificadores de acceso implementados en java 8 y 9.

Modularidad y encapsulamiento

Modularidad y encapsulamiento

Modularidad
según dice anncode al final de la clase anterior.

Modularidad y encapsulamiento

Modularidad y encapsulamiento

Modularidad y polimorfismo

Encapsulamiento.

Encapsulamiento, modularidad y polimorfismo.