Diferencia entre revisiones de «Introducción a Patrones de Diseño en C++ con Qt4:Racionalizacion»

Contenido eliminado Contenido añadido
Página creada con ' << Agradecimientos Contenido[[Introducción a Patr…'
 
Sin resumen de edición
Línea 1:
[[Introducción a Patrones de Diseño en C++ con Qt4:Agradecimientos| << Agradecimientos]][[Introducción a Patrones de Diseño en C++ con Qt4| Contenido]][[Introducción a Patrones de Diseño en C++ con Qt4:Racionalizacion| Racionalización del libro >>]]
----
=Justificación para este libro=
 
Como en la Universidad de Suffolk, seguimos la tendencia popular y continuamos enseñando programación orientada a objetos usando C++. Por varios años enseñamos un curso de un semestre de OOP/C++ stándar que seguía una secuencia CS1-CS2 basada en el lenguaje de programación C. Students developed substantial mastery of the core C++ language and an understanding of some OO concepts such as encapsulation, refactoring, and tool development. However, we found that STL is a library that often overwhelms students and causes them to spend too much time on low-level programming constructs and template issues. STL is not enough to write applications with graphical interfaces, and another framework would have to be used anyway.
 
During the summer of 2003 we got together and decided to develop a book that would approach OOP/C++ at a higher level. We wanted to provide a substantial introduction to GUI programming using the multi-platform Qt framework, as well as touch upon some important design patterns that are used.
 
We designed this first as a textbook to be used in a university class, but it is designed in an extensible way and crammed with information that will make it useful for readers with a wide range of backgrounds: from those who already program in C or another procedural language and wish to learn OO and GUI programming, to those who have no C background but are familiar with Basic, Java, Python, or another programming language and wish to learn C++. The first part of the book is aimed at familiarizing all audiences with basic C++ elements, OO concepts, UML, and the core Qt classes.
 
We believe that readers will understand ideas best when they apply them, and we found this to be especially true with design patterns. Many of the Qt classes or code examples are concrete implementations of some of the more popular design patterns described in [Gamma95]. For each design pattern that we discuss, we make available the source code for our example and include exercises that challenge readers to reuse, refine, and extend that code.
 
Reuse of libraries requires an understanding not only of libraries but also of modular software, the linker, and library design. We have included a substantial amount of advice distilled from experience (ours and our students') and from online discussion communities. We found that this helped our students to cope with most of the problems they encountered in courses based on early versions of this book.
 
We used preliminary versions of this book in Suffolk University's OOP/C++ course each semester during the academic years 2003-2004 through 2005-2006, with increasingly promising results and with much valuable feedback from our students. In the earlier version of this course students typically would write thousands of lines of code for their programming projects. By contrast, with the emphasis now on code reuse and the exploitation of robust tool libraries, student programming projects have fewer lines of student code but are much more interesting and, we feel, much more valuable learning experiences.
 
There are many C++ books out there that either teach C++ or teach Qt, but we found that the C++ books use a variety of different programming styles, and they emphasize some topics that we do not use very often with Qt. The Qt books we have seen all assume prior C++ knowledge. This book, by contrast, assumes no C or C++ programming experience, and it covers the language features of C++ that you need to know in order to use Qt 4 classes as early as possible in the examples and assignments. It can be used as a textbook for teaching C++ and design patterns, with an emphasis on open-source code reuse.
 
As far as we know, there are no university-level C++ textbooks that contain Qt examples and also provide review questions, exercises, solutions, and lecture slides for instructors.
----
[[Introducción a Patrones de Diseño en C++ con Qt4:Agradecimientos| << Agradecimientos]][[Introducción a Patrones de Diseño en C++ con Qt4| Contenido]][[Introducción a Patrones de Diseño en C++ con Qt4:Racionalizacion| Racionalización del libro >>]]