
The Object-Oriented Thought Process, 4th Edition
Matt Weisfeld
- Editorial
- Addison Wesley
- Año
- 2013
- Páginas
- ~336
- Nivel
- Intermedio
De qué trata
Guía pedagógica de Matt Weisfeld orientada a interiorizar la filosofía y la mentalidad del paradigma orientado a objetos antes de centrarse en la sintaxis específica de cualquier lenguaje. En su 4.ª edición, publicada por Addison-Wesley (Pearson Developer's Library), el autor actualiza el contenido incorporando el rol de los objetos en servicios web, aplicaciones móviles y formatos de intercambio modernos. Está pensada para programadores noveles o con experiencia previa en programación procedimental y estructurada que desean dar el salto definitivo al análisis y diseño orientado a objetos (OOAD) con bases claras.
El libro desglosa de manera progresiva conceptos esenciales como clases, objetos, encapsulamiento, abstracción, atributos, métodos, constructores, destructores y paso de mensajes, contrastando ejemplos en Java, C#, C++ y Objective-C. Dedica capítulos clave a dirimir el clásico dilema entre herencia («es-un») y composición/agregación («tiene-un»), así como al uso de interfaces y clases abstractas para crear código reutilizable. También enseña herramientas de modelado como tarjetas CRC (Class-Responsibility-Collaboration) y diagramas de clases UML, y aborda la serialización y persistencia de objetos en bases de datos relacionales, el manejo de datos portátiles con JSON y XML, y patrones de diseño elementales como Singleton, Adapter y Observer.
La obra adopta un enfoque eminentemente teórico y explicativo: no contiene problemas formales o ejercicios de examen al final de las lecciones, ni tampoco la implementación de una aplicación ejecutable completa, si bien utiliza ejemplos progresivos de modelado conceptual (como el diseño orientado a objetos de una baraja y partidas de blackjack). Su punto fuerte es su claridad didáctica para transformar la forma de estructurar problemas en la mente del programador. Como contraparte, omite detalles avanzados de rendimiento y herramientas modernas de construcción de proyectos, por lo que conviene acompañar su lectura con práctica simultánea en un lenguaje concreto.
- Programación orientada a objetos
- POO
- Encapsulamiento
- Herencia y composición
- Interfaces y clases abstractas
- Diagramas UML
- Tarjetas CRC
- Patrones de diseño
- Serialización
- JSON y XML
- Diseño de software
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

