Aplicar realmente la OOP y los patrones de diseño
Duración: 3 días | Precio: € 799,00 Sin IVA
Requisitos previos
Conocimiento básico de OOP (herencia, polimorfismo, encapsulamiento)
Buen conocimiento de Delphi, PHP, C# o JAVA (informar al momento de la inscripción)
Un PC por participante con una versión de Delphi superior a la 7, o un intérprete PHP, o un entorno de desarrollo para Java 1.5 o superior, o una versión reciente de .NET Framework (o .NET Core) con el compilador C#.
Descripción
“Este curso te cambia la vida” – cit. un participante
En este curso, valorado por decenas de programadores en los últimos años, se abordan las fallas más evidentes del diseño “clásico” y las soluciones correspondientes ofrecidas por los principios SOLID y los patrones de diseño. El curso incluye numerosos ejemplos y ejercicios prácticos.
Contenidos
Introducción
¿Qué hace que un sistema sea costoso de gestionar?
¿Alguna vez has dicho «sería más rápido reescribirlo que perder todo este tiempo»?
Los síntomas de un diseño «en descomposición»:
Rigidez
Fragilidad
Inmovilidad
Viscosidad
Limitar las dependencias:
Dependencias reales
Dependencias artificiales
Técnicas para evitar tirar por la borda el trabajo de los próximos años
El sistema existente: ¡cómo salvar lo que se pueda!
Técnicas y principios para reutilizar lo que se ha hecho hasta ahora sin caer en los mismos errores
Los principios SOLID
Single Responsibility Principle (SRP)
Open-Closed Principle (OCP)
Liskov Substitution Principle (LSP)
Interface Segregation Principle (ISP)
Dependency Inversion Principle (DIP)
Design Patterns GoF, los más utilizados
¿Por qué los patrones de diseño?
¿Quién los necesitaba?
¿Por qué revolucionaron el mundo del desarrollo de software?
Para cada patrón se discutirán los siguientes puntos:
Propósito
Motivación
Aplicabilidad
Colaboraciones entre patrones
Consecuencias
Implementaciones
Patrones Creacionales
Abstract Factory
Builder
Factory Method
Singleton
Patrones Estructurales
Adapter
Composite
Proxy (protección, remoto, virtual)
Patrones Comportamentales
Chain of Responsibility
Command
Mediator
Observer
Strategy
Template Method
State
Basado en código
Basado en tabla de transiciones
Design Patterns Empresariales
Patrones básicos
Patrones para la lógica de dominio
Transaction Script
Table Module
Domain Model
Patrones para el acceso a bases de datos
Table Data Gateway
Row Data Gateway
Active Record
Data Mapper
Conclusiones
«Los principios son siempre válidos, las leyes deben contextualizarse» aka «Cómo y cuándo aplicar un patrón u otro»
