👇 APUNTES DE LA CLASE 😊
Entender la Programación orientada a objetos
Programación orientada a objetos en Java
¿Qué es un Objeto?
Abstracción: ¿Qué es una Clase?
Modularidad
Definir Clases y sus componentes
Creando nuestra primera Clase
Método constructor
Static: Variables y Métodos Estáticos
Creando elementos estáticos
Final: Variables Constantes
Sobrecarga de métodos y constructores
¡Reto!
Encapsulamiento: Modificadores de acceso
Getters y Setters
Variable vs. Objeto
Variable vs. Objeto: Un vistazo a la memoria
Clases Anidadas
Clases Internas y Locales a un método
Enumerations
Reutilizar Código
¿Qué es la Herencia? Don't repeat Yourself
Super y This
Polimorfismo: Sobreescritura de Métodos
Polimorfismo: Sobreescribiendo el método toString
Interfaces
Creando una interfaz para definir si una fecha es agendable
Collections
Aplicar Abstracción
Clases Abstractas
Miembros abstractos
Clases Anónimas
Diferencias entre las Interfaces y las Clases Abstractas
Interfaces en Java 8 y 9
Herencia en interfaces
Ensamblando Objetos el proyecto
Simulando autenticación de usuarios
Modularizando la UI de Doctores
Definiendo las citas disponibles
Modularizando la UI de Pacientes
Recorriendo estructuras de árbol en Java
Agendando Citas
Cierre del curso: Continúa con Programación Funcional en Java
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
Anahí Salgado Díaz de la Vega
La Modularidad consiste en dividir nuestro programa en diferentes módulos de forma que puedan unirse o separarse sin romperse entre ellos o perder alguna funcionalidad.
La Modularidad en Programación Orientada a Objetos nos ayuda a:
Aportes 70
Preguntas 3
👇 APUNTES DE LA CLASE 😊
Que bonita es la teoría de tener el código mantenible, para los que queráis aprender realmente a hacer buen código, llevad a rajatabla los consejos de @anncode escribir mucho código, haced que vuestro código se haga un completo infierno (aunque no lo queráis eventualmente pasara).
Y luego recomiendo leer estos 3 libros.
Condigo Limpio (Robert C. Martin)
Arquitectura Limpia (Robert C. Martin)
El limpiador de Código (Robert C. Martin)
Los 2 primeros van de código (java) y el 3 sobre la actitud de un desarrollador profesional.
La modularidad se aplica en diferentes entornos por ejemplo:
Backend: POO
Frontend: Componentes(Angular, ReacJs, VieJs)
Diseño: UI/UX(Atomic-design)
En fin lo que se busca es la reaulización, facil mantenieminto, optimización de tiempo, etc.
Profesora Anahí, hace falta su curso de programación funcional. El que existe está muy bueno pero hace falta el suyo para continuar con su línea de enseñanza.
Les comparto mis apuntes de esta Clase:
Modularidad
Es un concepto proveniente del diseño industrial y la arquitectura. Consiste en dividir un sistema en varios módulos independientes que unidos conforman todo el sistema completo.
Ventajas de la modularidad:
Mientras en las programación estructurada se tiene un sólo archivo muy grande en el que esta toda la lógica del sistema y en el que un error puede detener la ejecución de todo el programa, en la programación orientada a objetos las diferentes funciones de un sistema se dividen en módulos independientes, por lo que a la hora de solucionar bugs sólo hay que ubicar el módulo que esta fallando y repararlo sin tener que afectar al resto del código; y si se quieren añadir más funcionalidades al proyecto solo hay que crear nuevos módulos e integrarlos dentro del sistema.
Las Clases dentro de la modularidad
Las Clases juegan un papel fundamental dentro de la modularidad, pues permiten dividir el software en diferentes partes o módulos/Clases y a su vez separar dichas Clases en archivos diferentes.
Principio «Divide y Vencerás»
Modularidad: Reutilizar, Evitar colapsos, Mantenible, Legible, Resolución rápida de problemas. 😃
Yo por naturaleza en otros lenguajes separaba todo el codigo en diferentes archivos y trataba de ponerlos lo mas generico posible para reutilizarlos. Ahora comprendo que es modularidad y es la mejor forma de evitar repetir codigo y colapsos de las aplicaciones.
Les comparto una lectura sobre modularidad y componentes
https://www6.uniovi.es/usr/cesar/Uned/EDA/Apuntes/TAD_apUM_01.pdf
Modularidad
Simplemente basado en la división de bloques como un lego.
La programación sin la modularidad me la imagino así:
muchas gracias x la explicacion
De las mejores ventajas de la POO!
Al modularizar nuestro codigo, estaremos pensando en nuestro yo del futuro, haciendo modularidad y otras tecnicas de programación como: clean code y otros principios solid.
Siguiendo con el ejemplo del sofá modular, si manchamos una parte de un sofá que no es modular hay que retirarlo todo para limpiarlo y nos quedamos sin sofá (sufrimos un colapso), si manchamos una parte de un sofá modular solo tenemos que retirar esa parte manteniendo nuestro sofá (evitando el colapso).
En estas primeros 4 clases me ayudaron mucho mis notas del Curso de Programación Orientada a Objetos. Es un excelente repaso 😄
La modularidad es una de las principales características de la Programación Orientada a Objetos.
DIVIDE Y VENCERÁS
MODULARIDAD
- Subdividir un sistema en varios elementos o componentes
- Nos permite:
~ Reutilizar código
~ Evitar colapsos (Porque solo deja de funcionar una parte, no toda la aplicación)
~ Mantenible
~ Legibilidad
~ Resolución rápida de problemas
📦 La modularidad permite que tu solución sea escalable y mantenible.
Este ejemplo visual es muy útil
Genial!! Me encantaron estas explicaciones!
ah ok no sabia que se llamaba modularidad eso que ya hacia. gracias anahi
La modularidad se aplica en diferentes entornos por ejemplo:
Backend: POO
Frontend: Componentes(Angular, ReacJs, VieJs)
Diseño: UI/UX(Atomic-design)
En fin lo que se busca es la reaulización, facil mantenieminto, optimización de tiempo, etc.
Los beneficios de la modularidad en Java incluyen:
Reutilización de código: Los módulos permiten separar la funcionalidad en unidades cohesivas y reutilizables, lo que facilita la reutilización del código en diferentes proyectos.
Encapsulación y ocultamiento: Los módulos permiten encapsular y ocultar la implementación interna de un componente, exponiendo solo las interfaces y elementos necesarios para su uso. Esto promueve una mejor organización y reduce la dependencia directa entre los módulos.
Mejora de la mantenibilidad: Al dividir un programa en módulos más pequeños y enfocados, se facilita la identificación y solución de problemas o errores, lo que a su vez mejora la mantenibilidad del código.
Gestión de dependencias: Los módulos pueden declarar las dependencias que tienen con otros módulos, lo que ayuda a administrar y controlar las dependencias entre diferentes componentes del programa. Esto permite una mejor gestión de la complejidad y evita problemas de compatibilidad entre versiones.
Modularidad: Subdividir un sistema en varios componentes.
Me encanta ese juego de palabras de Anahí, como rima clase con clase jaja
wow
el viejo y confiable ejemplo de los LEGO
Muy buena explicación!
Excelente explicación
Modularidad
Es la posibilidad de subdividir un sistema en varios componentes.
Un módulo puede acoplarse a otros módulos. Funcionan conjuntamente, pero si se descompone uno, no quiere decir que se dañe todo el equipo.
Me recuerda a los muebles de IKEA
muchas gracias…
super genial!
1:49 Me robaron el sofa!!!
Subdividir un sistema en varios elementos o componentes nos permite:
Esto nos permite que cuando tengamos un paquete de clases, sean independientes de su paquete para su funcionamiento autónomo, y así mejorar el mantenimiento del código, ya que cada paquete tiene su responsabilidad.
Aquí nos ayudan las Clases:
Las clases serán un elemento clave para crear modularidad, al reorganizar todo el código en clases distintas, al final toda la responsabilidad y clases quedan en un mismo archivo.
En cambio, lo que se recomienda es:
Delegar la responsabilidad por archivo, separando cada clase en un archivo respectivo, y a este conjunto lo llamaremos módulo.
superanimado para aprender y ser un master con la modularidad.
buen ejemplo de explicación de muebles
Mudalaridad es dividir en módulos un sistema grande, esto nos permite reutilizar código, evitar colapsos, mantenibilidad, legibilidad, resolución rápida de problemas.
Un código modular y una estructura de directorios bien gestionada es la mejor práctica.
Excelente explicación
excelente
La modularidad es algo tan esencial en nuestras vidas, algo tan simple como el ejemplo de los sofas.
Tienes razón instructora Anahí, son bastantes los beneficios que nos da la modularidad como para dejar de usar y es que fragmentar el código en varias partes permiten una manipulación más eficiente y con la característica de los IDE de permitir viajar al lugar de una función con control + clic izquierdo se nos facilita todavía más el trabajo.
En el curso de C# Me parece también se habal de esto y vaya que es útil, mi codigo se ve incluso mas bonito desde dicha clase 😄
Excelente clase de la modularidad, esto nos permite que cuando tengamos un paquete de clases, sean independientes de usar paquete para su funcionamiento propio, y así dar una mejora al momento de hacer el mantenimiento del código, ya que cada paquete tiene su responsabilidad
😃 buena clase
Bueno, por lo menos comprendí al fin el concepto de modularidad, aún que ya lo aplicaba en otros lenguajes pero sin conocer como tal el concepto, interesante la verdad.
Modularidad:
1°nivel: Básico
2° nivel: Avanzado para sistemas grandes
Interesante!
Genial, aunque usaba modularidad sin darme cuenta, sin embargo que genial es conceptualizarlo, gracias!
La modularidad es la base de la programación orientada a objetos :0
😃
la modularidad es lo mejor
Modularidad
La Modularidad en Java se divide en dos niveles, en este curso se abarca el primer nivel, el más básico. El segundo nivel es mucho más avanzado para programas más grandes y complejos.
La Modularidad consiste en sub-dividir un sistema en varios elementos o componentes para formar el sistema por completo. La modularidad más avanzada se podría definir como un sistema formado por más sistemas pequeños.
La Modularidad viene del diseño, que se usa en el diseño industrial, arquitectura, etc.
Este es uno de los ejemplos más claros de Modularidad:
Ya que es un sillón al que se le pueden añadir más asientos, se le pueden añadir más módulos para que se adapte a las necesidades del usuario.
La modularidad nos va a permitir:
Las clases van a ser un elemento clave para manejar Modularidad:
La modularidad es muy indispensable en nuestros programas.
Excelente analogía para poder explicar la modularidad.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?