Programacion

Temas 53-58: Java y el modelo Vista Controlador

Vista la escasa participación del publico en el sitio, estoy desarrollando algunos temas por mi cuenta aprovechando un curso de programación que imparto en Villanueva de la Serena, los temas que os pueden interesar son:

Características principales

  • Todo es un objeto

  • Cada objeto tiene su memoria interna

  • Todo Objeto es de un tipo, los objetos del mismo tipo pueden recibir los mismos mensajes

  • String s=new String (“asdf”);

  • Java tiene un recolector de basura, los objetos tienen la misma vida que los tipos primitivos

  • Ejemplo:

    • class miclase {

    • string s=new string();

    • string mimetodo (par1,par2…){…};

  • Comentarios (/*…*/) (//)

  • cont ++, ++cont

  • &&, ||, !, operadores lógicos

  • &, |, ^, operadores unarios

  • <<, >>, >>>, desplazamientos

  • tiene el ternario y todo como PHP.

  • tiene constructor

  • this

  • recolector + finalice

    • public, protected, private y friendly, que no se escribe pero existe.

Programación en Java

  • Composición y herencia

  • la herencia se pone con extends

  • final.

    • Datos, espacio de almacenamiento no modificable

    • Parámetros, no se puede cambiar la referencia

    • métodos, no se pueden redefinir

    • clases, no se puede heredar

  • ligadura

    • ligadura tardía

    • ligadura temprana, sólo para métodos constantes

    • interfaces

    • implements, para simular herencia múltiple

    • clases internas, implican cierres y retrollamadas

  • Arrays y contenedores

    • Arrays, tamaño limitado

    • Contenedores, tipo desconocido, iteradores para moverse por ellos

      • Coleccion

        • conjunto, no duplicados

        • lista, add y get

      • Mapas

        • pares de valores

  • Excepciones

    • Se pueden lanzar

    • se capturan con try {…} catch (…) {…}

    • Se pueden crear

    • Sólo se pueden lanzar exepciones de la clase base.

Otros conceptos

  • E/S

    • File, ImputStream, OutputStream

    • Readers & Writers para la internacionalización

    • Serialización, se convierte lo que sea en una secuencia de bits, transiet para lo que no queremos que se serialice

  • Ventanas y applets

    • Applet, pequeño programa que se ejecuta dentro del navegador

      • Un Applet no puede tocar el disco

      • Se descargan por completo cada vez

      • Disposición

        • BorderLayout

        • FlowLayout

        • GridLayout

        • GridBagLayout

        • BozLayout

  • Módulo de eventos Swing

  • Thread

    • run()

    • Hilos demonio

    • Syncronized

    • Bloqueos

      • un hilo puede estar: Nuevo, Ejecutable, Muerto, Bloqueado

      • Prioridades y grupos de hilos

  • Computación distribuida

Patrones en Java

  1. Un patrón aporta una solución.

  2. Alta coherencia o cohesión

  3. Bajo acoplamiento

Patrón modelo vista controlador

  1. Modelo, encapsula los datos y funcionalidades

  2. Vista, saca los datos del modelo

  3. Controlador, recibe las entradas, junto con la vista conforma la interfaz del usuario

  4. Variaciones

    1. Pasivo

    2. Activo, cambia el modelo sin la implicación del controlador, se usa un observador

  5. Entornos

    1. ASP.NET

    2. J2EE

    3. Java Swing

    4. Struts

    5. PHP, no tiene MVC pero utiliza aplicaciones de terceros para simularlo

Características principales

  • Todo es un objeto

  • Cada objeto tiene su memoria interna

  • Todo Objeto es de un tipo, los objetos del mismo tipo pueden recibir los mismos mensajes

  • String s=new String (“asdf”);

  • Java tiene un recolector de basura, los objetos tienen la misma vida que los tipos primitivos

  • Ejemplo:

    • class miclase {

    • string s=new string();

    • string mimetodo (par1,par2…){…};

  • Comentarios (/*…*/) (//)

  • cont ++, ++cont

  • &&, ||, !, operadores lógicos

  • &, |, ^, operadores unarios

  • <<, >>, >>>, desplazamientos

  • tiene el ternario y todo como PHP.

  • tiene constructor

  • this

  • recolector + finalice

    • public, protected, private y friendly, que no se escribe pero existe.

Programación en Java

  • Composición y herencia

  • la herencia se pone con extends

  • final.

    • Datos, espacio de almacenamiento no modificable

    • Parámetros, no se puede cambiar la referencia

    • métodos, no se pueden redefinir

    • clases, no se puede heredar

  • ligadura

    • ligadura tardía

    • ligadura temprana, sólo para métodos constantes

    • interfaces

    • implements, para simular herencia múltiple

    • clases internas, implican cierres y retrollamadas

  • Arrays y contenedores

    • Arrays, tamaño limitado

    • Contenedores, tipo desconocido, iteradores para moverse por ellos

      • Coleccion

        • conjunto, no duplicados

        • lista, add y get

      • Mapas

        • pares de valores

  • Excepciones

    • Se pueden lanzar

    • se capturan con try {…} catch (…) {…}

    • Se pueden crear

    • Sólo se pueden lanzar exepciones de la clase base.

Otros conceptos

  • E/S

    • File, ImputStream, OutputStream

    • Readers & Writers para la internacionalización

    • Serialización, se convierte lo que sea en una secuencia de bits, transiet para lo que no queremos que se serialice

  • Ventanas y applets

    • Applet, pequeño programa que se ejecuta dentro del navegador

      • Un Applet no puede tocar el disco

      • Se descargan por completo cada vez

      • Disposición

        • BorderLayout

        • FlowLayout

        • GridLayout

        • GridBagLayout

        • BozLayout

  • Módulo de eventos Swing

  • Thread

    • run()

    • Hilos demonio

    • Syncronized

    • Bloqueos

      • un hilo puede estar: Nuevo, Ejecutable, Muerto, Bloqueado

      • Prioridades y grupos de hilos

  • Computación distribuida

Patrones en Java

  1. Un patrón aporta una solución.

  2. Alta coherencia o cohesión

  3. Bajo acoplamiento

Patrón modelo vista controlador

  1. Modelo, encapsula los datos y funcionalidades

  2. Vista, saca los datos del modelo

  3. Controlador, recibe las entradas, junto con la vista conforma la interfaz del usuario

  4. Variaciones

    1. Pasivo

    2. Activo, cambia el modelo sin la implicación del controlador, se usa un observador

  5. Entornos

    1. ASP.NET

    2. J2EE

    3. Java Swing

    4. Struts

    5. PHP, no tiene MVC pero utiliza aplicaciones de terceros para simularlo