Bases de la Tecnología de Objetos
[Ale; Bloque Básico; 10:30 a 13:00 hs]
Objetivos
Presentar la Tecnología, sus fundamentos y el conjunto de herramientas y técnicas de uso general.
Temario
Introducción:
- Ubicación en el marco tecnológico.
- Lenguaje, Programas y Datos.
- Modularidad y Encapsulamiento.
- Lenguajes Orientados a Objetos y Tecnología de Objetos
- Lenguajes Orientados a Objetos (LOO)
- Tecnología de Objetos.
- Ambiente de Objetos.
Bases paradigmáticas.
- Objetos, mensajes y Ambiente.
- Sujeto y objetos (cosas).
- Comunicación entre objetos por medio de mensajes (verbo).
- Ambiente (Lugar donde hay cosas).
- Composición
- Partes.
- Concepto de "self".
- Comportamiento de un objeto.
- Comportamiento
- Acciones.
- Acciones compuestas.
- Problemática de la resolución de un mensaje.
- Especies de objetos
- Ciclos de experiencia.
- Abstracción. [Princesas y Cortezanos]
- Relación es-un
- Instanciación.
- Costo de una instanciación.
- Aplicación y Mapping.
- Evolución de abstracciones
- Adaptabilidad.
- Ciclos de Experiencia.
- Propagación de
- Instancias.
- Abstracciones.
- Vector y Host.
- Madurez y capacidad de cambio.
- Clasificación.
- Un tool para "percibir" una realidad. [animales]
- Discriminación y clasificación.
- Cómo clasificar?
- Herencia.
- Delegación
- Responsabilidad de un grupo de objetos.
- Contextos de resolución.
[Descanso 15min?]
Ambientes de Objetos.
- Arquitectura de un sistema de objetos.
- Delegación y colaboración (responsabilidades compartidas).
- Relación orgánica y sistemas.
- Contratos.
- Organos y Organismos vs. Arquitecturas e Ingeniería.
- Abstracción en mensajes.
- Que pasa antes del envío de un mensaje?
- Nombres y relación de conocimiento.
- Nombres para el emisor y nombres para el receptor.
- Abstracción en nombres.
- Ciclos de vida de los objetos.
- Nombres, visibilidad y contextos.
- Tipos de nombres (globalidad y scope)
- Asignación de nombres vs. variables.
- Nacimiento de un objeto.
- Vida de un objeto.
- Muerte de un objeto.
- Recolección de basura.
- "Trabajo" en un sistema de objetos.
- Objetos de un ambiente
- Objetos existentes. La importancia de los objetos "viejos".
- Objetos como bienes de uso.
- Fundation clases y su importancia social.
- "El Smalltalk" y "Mi Smalltalk"
- Cómo aprender Smalltalk?
- Que es aprender Smalltalk?
- Es como aprender un lenguaje?
- Es solo aprender que objetos hay?
- Vivir en un ambiente.
- Composición de un sistema de objetos.
- Finalidad de un sistema.
- Un sistema produce trabajo como subproducto de los objetos que tiene.
- Objetos del "modelo".
- Interfaz e interfaces entre sistemas.
- MVC
- Vistas = observadores.
- Eventos. Están dentro del paradigma?
- Cómo se logra construir un sistema de objetos?
- Grupos de trabajo.
- PairProgramming.
- Charlas de Smalltalking.
- Scripting.
- Propagación Vertical y Horizontal.
- Porque Smalltalk no se usa tanto?
- Quien puede beneficiarse usando Smalltalk?
- Herramientas para el trabajo con objetos.
- Browsing.
- Browser
- Senders e implementors
- Referencias por nombre.
- Instrospección y exploración
- El Inspector.
- Navegación de un sistema.
- Reparación "en vivo".
- Evolución de modelos.
- Prototipación.
- Debugger de objetos.
- Exploración de objetos y morphs.
- Scripting.
- #allInstances, #allReferences
- Parts y otras alternativas.
- Frameworks y máquinas.
- Patterns
- Equilibrio de sistemas de información.
- Evolución de sistemas colaborativos.
- Modelado de contextos y contratos.
- Meta-arquitecturas.
- Que es una clase?
- Metaclases.
- Donde esta #new ?
- Metaprogramación.
- Subespacios y parcelas
- Mecanismos de fraccionamiento.
- Binding de subsistemas.
- PlugIn vs. binding dinámico de subespacios.