Java en acción: Resolución de un caso complejo en Java
4.3 (34 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
311 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Java en acción: Resolución de un caso complejo en Java to your Wishlist.

Add to Wishlist

Java en acción: Resolución de un caso complejo en Java

Aprende a usar los recursos de Java y los principios de la orientación a objetos mediante un caso de uso realista.
4.3 (34 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
311 students enrolled
Created by Domingo Sebastian
Last updated 5/2017
Spanish
Current price: $10 Original price: $70 Discount: 86% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 1.5 hours on-demand video
  • 5 Articles
  • 4 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Aplicar el lenguaje Java para resolver problemas complejos
  • Entender que estrategias consiguen soluciones más mantenibles y elegantes
View Curriculum
Requirements
  • Ya deberías tener unos conocimientos básicos del lenguaje Java. ¡No es necesario que sea un experto!
  • El ordenador debe tener instalado el JDK 1.7 (o superior) y el Eclipse
Description

A menudo los cursos introductorios de Java fallan al mostrar como usar los recursos aprendidos en problemas complejos.

En este curso no se explican los conceptos básicos de Java. El estudiante ya debe conocer las bases del lenguaje Java: como crear una clase, que es un constructor, una interface etc. Este curso está pensado para que estudiantes con estos conocimientos básicos puedan ver en acción como los recursos aprendidos sirven para resolver de forma elegante y mantenible problemas lejos de ser triviales.

He utilizado el ejemplo usado en este curso durante muchos años en la formación presencial, y los alumnos siempre me han expresado como les ha servido para comprender los conceptos que en la teoría no quedaban suficientemente claros.

Por todo ello, este curso te va a servir para:

  1. Afianzar los conceptos teóricos mediante un caso práctico
  2. Observar como atacar un problema complejo y realista
  3. Como aplicar los recursos del lenguaje para diseñar un sistema flexible y fácil de mantener
  4. Profundizar en la comprexión, entre otros, de:
    1. Clases, variables y métodos
    2. Estructuras de control y la sentencia break
    3. Colecciones
    4. Clases abstractas y interfaces
    5. Sobre-escritura de métodos
    6. Clases anónimas
    7. Comparadores

El curso usa recursos disponibles el Java 1.7. No se incluyen los nuevos recursos del Java 8

El curso tiene una sección extra en la que iremos incorporando nuevos ejercicios que os ayuden a entrar en el mundo de la programación en Java. ¡Te esperamos!

Who is the target audience?
  • Este curso es para estudiantes que se han introducido en los aspectos básicos del lenguaje y quieren ver como aplicarlos en un caso realista
Students Who Viewed This Course Also Viewed
Curriculum For This Course
23 Lectures
01:48:52
+
Preparación y aparatos
4 Lectures 13:46

Enunciado del proyecto en el que trabajaremos. Leedlo tranquilamente y os recomiendo que penseis como lo resolveriais.

Preview 1 page

Como importar el proyecto de que desarrollaremos durante el curso.

Preview 02:00

El proyecto
00:03

Preparación del proyecto y creación de la clase Aparato

Preview 11:43
+
La red
4 Lectures 27:00
  • ¿Como representarías el consumo del aparato?
  • ¿Debe ponerse a 0 cuando apagamos el aparato?
  • ¿Como representarías la red?
  • ¿Que Collection usarías para guardar los aparatos que contiene?
Introduciendo la red
10:14

  • ¿Como mejorarías la encapsulación de la clase red?
  • ¿Crees que es posible modificar el estado interno de la red sin que está lo "perciba"?
  • Conoces lo que son las copias defensivas?
Mejora del diseño de red
05:50

  • ¿Como calculamos el consumo actual de la red?
  • ¿Donde situarias el método?
Calculo del consumo
07:03

  • ¿Donde guardamos la potencia máxima de la red?
  • ¿Donde calculamos si la red es estable?
  • ¿Como lo hacemos?
Estabillidad de la red
03:53

Repaso
3 questions
+
El sistema de seguridad
5 Lectures 37:36
  • ¿Crees que es necesaria o conveniente una clase para el sistema de seguridad?
  • ¿Debe el sistema de seguridad tener una referencia a la clase red?
  • ¿Debe tener la clase red una referencia al sistema de seguridad?
Introducción del sistema de seguridad
05:23

  • ¿Como implementarías una versión sencilla de la actuación del sistema de seguridad?
  • ¿Que necesita el sistema de seguridad de la red para realizar esta actividad?
  • ¿Es necesario modificar la clase red?
Actuación del sistema de seguridad
06:58

  • ¿Que mensajes incorporarías a la aplicación para mostrar el comportamiento del sistema de seguridad?
Trazabilidad
06:17

Se nos requiere que nuestro diseño deje abierta la posibilidad de disponer de distintas implementaciones de sistemas de seguridad:

  • ¿Que diseño aplicarías?
  • ¿Crees que tendrán algo en común todos estos sistemas de seguridad?
  • ¿Hay alguna parte de su código compartida por todas las implementaciones?
  • ¿Como hay que adaptar el método main?
Sistemas de seguridad variables
08:38

  • ¿Como añadirías un sistema de seguridad que apagase primero los aparatos de menor consumo?
  • ¿Como realizarías la ordenación de los aparatos?
Estrategia: primero los aparatos de menor consumo
10:20

Repaso
2 questions
+
Aparatos críticos
2 Lectures 12:07
  • ¿Como definirías los aparatos críticos?
  • ¿Que relación tienen con la clase Aparato?
  • ¿Como modificarías la clase SistemaSeguridad?
Introducción de los aparatos críticos y adaptación del sistema de seguridad
05:19

  • ¿Que problemas tiene la implementación anterior?
  • ¿Como le afectaría añadir más tipos de aparatos?
  • ¿Como mejorarías el diseño?
Mejora del diseño
06:48

Repaso
2 questions
+
Alarmas
2 Lectures 11:38
  • ¿Como implementarías las alarmas?
  • ¿Que clase debe tener una referencia a una alarma?
Introduciendo la alarma
05:15

En esta clase vamos a añadir un nuevo tipo de aparato de gestión relativamente compleja.

El objectivo no es tanto ver como se puede crear este aparato, sinó ver como la solución planteada permite absorber estos nuevos tipos sin cambiar nada del código existente.

Demostrando la extensibilidad
06:23
+
** Contenido extra **
6 Lectures 00:45

Encontrarás en el material adicional de esta lección dos documentos sobre como importar el proyecto eclipse con los ejercicios adicionales y otro documento sobre como ejecutar el mecanismo de "autocorreción".

Preview 4 pages

Este es un bloque de ejercicios que tratan los aspectos más basicos del lenguaje. Posteriormente añadiremos ejercicios más avanzados. ¡Al ataque!

Extras 01 - Autocorregible - Java básico
00:07

Extras 01 - Solución al ejercicio
00:01

Este es un ejercicio, que como el mostrado durante el curso, también he utilizado en la formación presentacial.

La idea es ejercitar las Collection y utilizar al máximo los recursos de la orientación a objetos para llegar a una solución elegante y mantenible.

¡Suerte a los valientes!

Extras 02 - Ejercicio Park and Run
1 page

Otro ejercicio auto-corregible. Esta vez, tratando aspectos básicos de la construcción de clases.

¡Suerte!

Extras 03 - Autocorregible - Creación de clases
00:08

Clase extra: Acceso a otros cursos
00:28
About the Instructor
Domingo Sebastian
4.3 Average rating
111 Reviews
663 Students
4 Courses
Software Engineer & Trainer

Ingeniero en Informática por la Universitat de les Illes Balears (UIB) y programador certificado en Java.

Llevo desde 1998 trabajando de analista y programador en distintas organizaciones. Empecé trabajando en aplicaciones Oracle con PL/SQL, pero me enganché al Java cuando aún estaba por las versiones 1.1. A partir de aquel momento, he ido trabajando en el interesantísimo ecosistema que se ha ido creando en torno al lenguaje y su máquina virtual.

Tengo más de 10 años de experiencia en formación de Java, JEE, bases de datos, servidores de aplicaciones y herramientas de desarrollo.