Introducción a Patrones de Diseño en C++ con Qt4

De Wikilibros, la colección de libros de texto de contenido libre.

Desarrollo

Versión para imprimir esta pagina

Aviso: El siguiente es una traducción del libro: Introduction to Design Patterns in C++ with Qt 4 Copyright © 2008 Alan Ezust and Paul Ezust


Contenido

[editar] Introducción a Patrones de Diseño en C++ con Qt4

Alan Ezust, Paul Ezust, Traducción: Paynalton


Este documento está siempre bajo desarrollo. La Distribución de este trabajo o derivado de este trabajo es permitido bajo los términos de OPL tan pronto como la propia atribución sea realizada.

Así mismo un razonable esfuerzo se ha realizado para incorporar información útil dentro de este libro, se proporciona "como es", sin ninguna garantía explícita ó expresa. Si encuentras un error, ó deseas hacer una sugerencia/contribución, por favor abre un hilo en nuestra base de datos Bugzilla.


[editar] Declaración

C++ es la enseñanza de “El Camino de Qt”, con una énfasis en patrones de diseño y el reuso de librerías y herramientas de código abierto. Al finalizar este libro, el lector debería contar con un profundo entendimiento tanto del lenguaje como de las librerías, así mismo el patrón de diseños usados al desarrollar sofware con ellos.


[editar] Tabla de Contenido

[editar] Apéndice

[editar] Lista de Figuras

[editar] Lista de Tablas

[editar] Lista de Ejemplos

  • 1.1 ../bin/qtconfigure
  • 1.2 src/libs/utils/qt.sh
  • 1.3. src/early-examples/fac.cpp
  • 1.4 src/iostream/io.cpp
  • 1.5. src/early-examples/fac2.cpp
  • 1.6 src/early-examples/example1/fac1.cpp
  • 1.7 src/early-examples/example1/example1.pro
  • 1.8 src/qapp/Makefile-abbreviated
  • 1.9 src/generic/stlstringdemo.cpp
  • 1.10 src/early-examples/qstring/qstringdemo.cpp
  • 1.11 src/stdstreams/streamdemo.cpp
  • 1.12 src/stl/streams/streams.cpp
  • 1.13 src/stl/streams/streams.cpp
  • 1.14 src/stl/streams/streams.cpp
  • 1.15 src/early-examples/literals/qliterals.cpp
  • 1.16 src/early-examples/size/qsize.cpp
  • 1.17 src/main/clargs/clargs.cpp
  • 1.18 src/arithmetic/arithmetic.cpp
  • 1.19 src/arithmetic/arithmetic.cpp
  • 1.20 src/arithmetic/arithmetic.cpp
  • 1.21 src/arithmetic/arithmetic.cpp
  • 1.22 src/arithmetic/arithmetic.cpp
  • 1.23 src/pointers/pointerdemo.cpp
  • 1.24 src/pointers/newdelete/ndsyntax.cpp
  • 1.25 src/pointers/newdelete1.cpp
  • 1.26 src/constptr/constptr.cpp
  • 1.27 src/types/types.cpp
  • 2.1 src/structdemo/demostruct.h
  • 2.2 src/structdemo/demostruct.cpp
  • 2.3 src/classes/fraction.h
  • 2.4 src/classes/fraction.cpp
  • 2.5 src/classes/fraction.h
  • 2.6 src/classes/fraction-client.cpp
  • 2.7 src/ctor/complex.h
  • 2.8 src/ctor/complex.cpp
  • 2.9 src/statics/static.h
  • 2.10 src/statics/static.cpp
  • 2.11. src/statics/static-test.cpp
  • 2.12. src/lifecycle/copyassign/fraction.h
  • 2.13. src/lifecycle/copyassign/fraction.cpp
  • 2.14. src/lifecycle/copyassign/copyassign.cpp
  • 2.15. src/ctor/conversion/fraction.cpp
  • 2.16. src/const/constmembers.cpp
  • 2.17. src/subobject/subobject.h
  • 2.18. src/subobject/subobject.cpp
  • 2.19. src/early-examples/thing.h
  • 2.20. src/early-examples/thing.cpp
  • 2.21. src/early-examples/thing-demo.cpp
  • 2.22. src/statics/static3.h
  • 2.23. src/statics/static3.cpp
  • 2.24. src/destructor/demo/thing.h
  • 2.25. src/destructor/demo/destructor-demo.cpp
  • 3.1. src/libs/utils/qstd.h
  • 3.2. src/libs/utils/qstd.cpp
  • 3.3. src/qtio/qtio-demo.cpp
  • 4.1. src/containers/lists/lists-examples.cpp
  • 4.2. src/containers/contact/testdriver.cpp
  • 5.1. src/functions/function-call.cpp
  • 5.2. src/functions/function-call.cpp
  • 5.3. src/functions/date.h
  • 5.4. src/functions/date.cpp
  • 5.5. src/functions/date-test.cpp
  • 5.6. src/complex/complex.h
  • 5.7. src/complex/complex.cpp
  • 5.8. src/complex/complex.cpp
  • 5.9. src/complex/complex-test.cpp
  • 5.10. src/complex/complex-conversions.cpp
  • 5.11. src/functions/summit.cpp
  • 5.12. src/functions/pointerparam.cpp
  • 5.13. src/reference/swap.cpp
  • 5.14. src/const/reference/constref.cpp
  • 5.15. src/reference/maxi.cpp
  • 5.16. src/const/overload/constoverload.h
  • 5.17. src/const/overload/constoverload-client.cpp
  • 5.18. src/functions/inlinetst.cpp
  • 5.19. src/ellipsis/ellipsis.cpp
  • 5.20. src/functions/cryptoclass/crypto-client.cpp
  • 6.1. src/derivation/qmono/student.h
  • 6.2. src/derivation/qmono/student.cpp
  • 6.3. src/derivation/qmono/student.cpp
  • 6.4. src/derivation/qmono/student.cpp
  • 6.5. src/derivation/qmono/student-test.cpp
  • 6.6. src/derivation/qpoly/student.h
  • 6.7. src/derivation/qpoly/student-test.cpp
  • 6.8. src/polymorphic1.cc
  • 6.9. src/polymorphic2.cc
  • 6.10. src/derivation/exercise/Base.h
  • 6.11. src/derivation/exercise/Base.cpp
  • 6.12. src/derivation/exercise/main.cpp
  • 6.13. src/derivation/shape1/shapes.h
  • 6.14. src/derivation/shape1/shapes.h
  • 6.15. src/derivation/shape1/shapes.cpp
  • 6.16. src/derivation/shape1/shape1.cpp
  • 6.17. src/derivation/shape1/shape.txt
  • 6.18. src/derivation/overload/account.h
  • 6.19. src/derivation/overload/account-client.cpp
  • 6.20. src/derivation/assigcopy/account.h
  • 6.21. src/derivation/assigcopy/account.h
  • 6.22. src/derivation/assigcopy/account.cpp
  • 6.23. src/reuse/argproc.cpp
  • 6.24. src/libs/utils/argumentlist.h
  • 6.25. src/libs/utils/argumentlist.cpp
  • 6.26. src/reuse/main.cpp
  • 6.27. src/reuse/reuse.pro
  • 7.1. src/qapp-gui/qapp-gui.pro
  • 7.2. src/bash/env-script.sh
  • 8.1. src/visitorsrc/recurseadddir.cpp
  • 8.2. src/libs/utils/filevisitor.h
  • 8.3. src/libs/utils/filevisitor.cpp
  • 8.4. src/visitor/codevisitor/codevisitor.h
  • 8.5. src/visitor/codevisitor/codevisitor.cpp
  • 8.6. src/visitor/codevisitor/codevisitor-test.cpp
  • 9.1. src/qobject/person.h
  • 9.2. src/qobject/person.cpp
  • 9.3. src/qobject/bunch.cpp
  • 9.4. src/findchildren/findchildren.cpp
  • 9.5. src/eventloop/eventloop.cpp
  • 9.6. src/eventloop/eventloop.cpp
  • 9.7. src/eventloop/messager.h
  • 9.8. src/eventloop/messager.cpp
  • 9.9. src/widgets/sliderlcd/sliderlcd.h
  • 9.10. src/widgets/sliderlcd/sliderlcd.cpp
  • 9.11. src/widgets/sliderlcd/sliderlcd.cpp
  • 9.12. src/widgets/sliderlcd/sliderlcd-demo.cpp
  • 10.1. src/templates/template-demo.cpp
  • 10.2. src/templates/template-demo.cpp
  • 10.3. src/containers/stack/stack.h
  • 10.4. src/containers/stack/stack.h
  • 10.5. src/containers/stack/main.cpp
  • 10.6. src/cardgame/datastructure/cardgame-client.cpp
  • 10.7. src/containers/sortlist/sortlist4.cpp
  • 10.8. src/containers/sortlist/sortlist-output.txt
  • 10.9. src/containers/contact/serializer.cpp
  • 10.10. src/containers/qmap/textbook.h
  • 10.11. src/containers/qmap/qmap-example.cpp
  • 10.12. src/containers/qmap/qmap-example.cpp
  • 10.13. src/containers/qmap/qmap-example-output.txt
  • 11.1. src/widgets/mainwindow/mymainwindow.h
  • 11.2. src/widgets/mainwindow/mymainwindow.cpp
  • 11.3. src/widgets/mainwindow/mainwindow-main.cpp
  • 11.4. src/widgets/dialogs/messagebox/dialogs.h
  • 11.5. src/widgets/dialogs/messagebox/dialogs.cpp
  • 11.6. src/widgets/dialogs/inputdialog/inputdialog.cpp
  • 11.7. src/libs/cards2/cards2.pro
  • 11.8. src/libs/cards2/cardpics.h
  • 11.9. src/libs/cards2/cardpics.cpp
  • 11.10. src/layouts/boxes/cardtable.h
  • 11.11. src/layouts/boxes/cardtable.cpp
  • 11.12. src/layouts/boxes/boxes.cpp
  • 11.13. src/layouts/stretch/cardtable.cpp
  • 11.14. src/layouts/moving/moving.h
  • 11.15. src/layouts/moving/moving.cpp
  • 11.16. src/layouts/moving/moving.cpp
  • 11.17. src/layouts/moving/moving.cpp
  • 11.18. src/widgets/dialogs/messagebox/dialogs.cpp
  • 11.19. src/widgets/menus/study.h
  • 11.20. src/widgets/menus/study.cpp
  • 11.21. src/widgets/menus/study.cpp
  • 11.22. src/widgets/menus/study.cpp
  • 11.23. src/widgets/menus/study.cpp
  • 11.24. src/modelview/qstringlistmodel/simplelistapp.h
  • 11.25. src/modelview/qstringlistmodel/simplelistapp.cpp
  • 12.1. src/logtail/logtail.h
  • 12.2. src/logtail/logtail.cpp
  • 12.3. src/logtail/logtail.cpp
  • 12.4. src/logtail/logtail.cpp
  • 12.5. src/environment/setenv.cpp
  • 12.6. src/qonsole/qonsole1/qonsole.cpp
  • 12.7. src/qonsole/qonsole1/qonsole.cpp
  • 12.8. src/qonsole/qonsole1/qonsole.cpp
  • 12.9. src/qonsole/keyevents/qonsole.h
  • 12.10. src/qonsole/keyevents/qonsole.cpp
  • 12.11. src/qonsole/keyevents/qonsole.cpp
  • 12.12. src/threads/animate/moviethreadmain.cpp
  • 12.13. src/threads/animate/moviethread.cpp
  • 12.14. src/threads/animate/movieview.cpp
  • 12.15. src/threads/animate/movieview.cpp
  • 12.16. src/threads/animate/moviethread.cpp
  • 12.17. src/threads/animate/moviethread.cpp
  • 12.18. src/threads/animate/movietimer.h
  • 12.19. src/threads/animate/movietimermain.cpp
  • 12.20. src/threads/animate/movietimer.cpp
  • 12.21. src/threads/giant/giant.h
  • 12.22. src/threads/giant/giant.cpp
  • 12.23. src/threads/giant/giant.cpp
  • 12.24. src/threads/giant/giantwindow.h
  • 12.25. src/threads/giant/giantwindow.cpp
  • 13.1. src/validate/inputform.h
  • 13.2. src/validate/inputform.cpp
  • 13.3. src/regexp/testphone.txt
  • 13.4. src/regexp/testphoneread.cpp
  • 13.5. src/validate/regexval/rinputform.h
  • 13.6. src/validate/regexval/rinputform.cpp
  • 14.1. src/xml/html/testhtml.html
  • 14.2. src/xml/html/testxhtml.html
  • 14.3. src/xml/sax1/samplefile.xml
  • 14.4. src/xml/sax1/tagreader.cpp
  • 14.5. src/xml/sax1/myhandler.h
  • 14.6. src/xml/sax1/myhandler.cpp
  • 14.7. src/xml/sax1/tagreader-output.txt
  • 14.8. src/xml/domwalker/main.cpp
  • 14.9. src/xml/domwalker/domwalker.cpp
  • 14.10. src/xml/domwalker/slacker.cpp
  • 14.11. src/libs/docbook/docbookdoc.h
  • 14.12. src/xml/xmlbuilder/zenflesh.cpp
  • 14.13. src/xml/zen.xml
  • 14.14. src/xml/zen2html
  • 14.15. src/libs/docbook/docbookdoc.cpp
  • 14.16. src/libs/docbook/docbookdoc.cpp
  • 15.1. src/qtrtti/myapp-classdef.cpp
  • 15.2. src/qtrtti/qtrtti.cpp
  • 15.3. src/properties/customer-props.h
  • 15.4. src/properties/customer-props.cpp
  • 15.5. src/properties/testcustomerprops.cpp
  • 15.6. src/properties/testcustomerprops.cpp
  • 15.7. src/libs/dataobjects/dataobject.cpp
  • 16.1. src/libs/dataobjects/abstractfactory.h
  • 16.2. src/libs/dataobjects/objectfactory.h
  • 16.3. src/libs/dataobjects/objectfactory.cpp
  • 16.4. src/libs/customer/customerfactory.h
  • 16.5. src/libs/customer/customerfactory.cpp
  • 16.6. src/libs/customer/customerfactory.cpp
  • 16.7. src/libs/dataobjects/objectfactory.h
  • 16.8. src/libs/dataobjects/objectfactory.cpp
  • 16.9. src/libs/customer/customer.h
  • 16.10. src/libs/dataobjects/address.h
  • 16.11. src/libs/dataobjects/address.h
  • 16.12. src/ctorpoly/ctorpoly.cpp
  • 16.13. src/ctorpoly/ctorpoly-output.txt
  • 16.14. src/xml/propchildren/customer.h
  • 16.15. src/xml/propchildren/customerlist.h
  • 16.16. src/xml/propchildren/customerlist.xml
  • 16.17. src/xml/propchildren/xmlexport.h
  • 16.18. src/xml/propchildren/xmlexport.cpp
  • 16.19. src/libs/dataobjects/dataobjectreader.h
  • 16.20. src/libs/dataobjects/dataobjectreader.cpp
  • 16.21. src/libs/dataobjects/dataobjectreader.cpp
  • 16.22. src/libs/dataobjects/objectfactory.cpp
  • 16.23. src/facade/id3lib-usage.cpp
  • 16.24. auto_ptr code fragment
  • 16.25. src/libs/filetagger/filetagger.h
  • 16.26. src/libs/filetagger/filetagger.cpp
  • 16.27. src/libs/filetagger/filetagger.cpp
  • 17.1. src/libs/dataobjects/dataobjecttablemodel.h
  • 17.2. src/modelview/tablemodel/tablemodel.cpp
  • 17.3. src/libs/dataobjects/dataobjecttablemodel.cpp
  • 17.4. src/libs/dataobjects/dataobjecttablemodel.h
  • 17.5. src/libs/dataobjects/dataobjecttablemodel.cpp
  • 17.6. src/libs/dataobjects/dataobjecttablemodel.cpp
  • 17.7. src/libs/dataobjects/dataobjecttablemodel.cpp
  • 17.8. src/modelview/objectbrowser/ObjectBrowserModel.h
  • 17.9. src/modelview/qjots/item.h
  • 17.10. src/modelview/qjots/item.cpp
  • 17.11. src/forms/bridgekeeper-designer/bridgekeeper.h
  • 18.1. src/enums/enumtst.cpp
  • 18.2. src/mixed-types.cpp
  • 18.3. src/ansicast/m2k.cpp
  • 18.4. src/casts/constcast1.cpp
  • 18.5. src/casts/constcast2.cpp
  • 18.6. src/rtti/dynamic_cast.cpp
  • 18.7. src/pointers/autoptr/qpointer.h
  • 18.8. src/const/cast/const.cc
  • 18.9. src/const/cast/const2.cc
  • 19.1. src/early-examples/decldef/point.h
  • 19.2. src/early-examples/decldef/point.cpp
  • 19.3. Global vs File scope
  • 19.4. src/goto/goto.cpp
  • 19.5. src/early-examples/scopex.cpp
  • 19.6. src/storage/storage.cpp
  • 19.7. src/namespace/a.h
  • 19.8. src/namespace/b.h
  • 19.9. src/namespace/namespace1.cc
  • 19.10. src/namespace/namespace2.cc
  • 19.11. src/namespace/anonymouse.h
  • 19.12. src/libs/utils/qstd.h
  • 19.13. src/libs/utils/qstd.cpp
  • 20.1. src/early-examples/nestedif.cpp
  • 20.2. src/exceptions/example/exceptions.h
  • 20.3. src/exceptions/example/vector.h
  • 20.4. src/exceptions/example/vector.h
  • 20.5. src/exceptions/catch.cpp
  • 20.6. src/exceptions/example/exceptions.cpp
  • 20.7. src/exceptions/throw0/throw0.cpp
  • 20.8. src/exceptions/throw2/throw2.cpp
  • 20.9. src/exceptions/registrar/registrar.h
  • 20.10. src/exceptions/registrar/exceptions.h
  • 20.11. src/exceptions/registrar/registrar.cpp
  • 20.12. src/exceptions/registrar/registrarClientCode.cpp
  • 21.1. src/pointers/pathology/pathologydecls1.cpp
  • 21.2. src/pointers/pathology/pathologydecls2.cpp
  • 21.3. src/pointers/pathology/pathologydemo1.cpp
  • 21.4. src/arrays/pointerArith.cpp
  • 21.5. src/arrays/returningpointers.cpp
  • 21.6. src/arrays/pointerIndex.cpp
  • 21.7. src/newfailure/bad-alloc1.cpp
  • 21.8. src/newfailure/setnewhandler.cpp
  • 21.9. src/newfailure/bad-alloc2.cpp
  • 21.10 src/newfailure/nullchecking.cpp
  • 22.1 src/derivation/typeid/vtable.h
  • 22.2 src/derivation/typeid/vtable.cpp
  • 22.3 src/derivation/assigcopy/bank.h
  • 22.4 src/derivation/assigcopy/bank.cpp
  • 22.5 src/derivation/assigcopy/bank.cpp
  • 22.6 src/multinheritance/window.h
  • 22.7 src/multinheritance/window.cpp
  • 22.8 src/multinheritance/people.h
  • 22.9 src/privatederiv/stack.h
  • 22.10 src/privatederiv/stack-test.cpp
  • C.1 src/preprocessor/constraintmap.h
  • C.2 src/preprocessor/constraintmap.cpp
  • C.3 linker-invocation.txt
  • C.4 src/debugging/wrongdelete.cpp
  • C.5 src/debugging/valgrind-test.cpp

Introducción a Patrones de Diseño en C++ con Qt4 Grado de desarrollo: 25% (a fecha de 20:49 20 mar 2009 (UTC))

Herramientas personales