Design Patterns With C++

Introduction

Topics/Exercises

Solutions

To Be Done

  • Repertoire page

  • Source page

    • Solution page(s) maybe?

    • Link those into course page

  • Command with MTQueue

  • Course preparation page

    • Split project: base libraries and their tests

    • To-be-implemented things

    • List of files

  • Fun exercise: devise a system where person have a sensor plugged into them. When the sensor sees a sign of sickness, a post is made into SocialDB to charge for it, and an observing party is notified.

Dependencies

cluster_cxx C++: Miscellaneous Live-Hacking cluster_cxx_exercises C++ Exercises cluster_cxx_exercises_oo C++ Exercises: Object Oriented Programming cluster_cxx_exercises_design_patterns Exercises: Design Patterns cluster_cxx_design_patterns Design Patterns With C++ cluster_cxx03 C++ 03 cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx03_inheritance_oo Inheritance And Object Oriented Design cluster_linux Linux cluster_linux_basics Linux Basics cluster_linux_basics_shell The Shell (Bash - “Bourne Again Shell”) cluster_linux_basics_intro Introduction: Concepts and Terminology cluster_linux_toolchain Toolchain cluster_c The C Programming Language cluster_c_introduction Introduction cxx_exercises_oo_sensor_interface Exercise: Sensor Interface cxx03_inheritance_oo_interface Interfaces cxx_exercises_oo_sensor_interface->cxx03_inheritance_oo_interface linux_toolchain_cmake_local CMake: Local Build cxx_exercises_oo_sensor_interface->linux_toolchain_cmake_local cxx_exercises_design_patterns_proxy_round Exercise: Proxy (Rounding Thermometer) cxx_exercises_design_patterns_proxy_round->cxx_exercises_oo_sensor_interface cxx_design_patterns_uml UML Short Introduction cxx_exercises_design_patterns_proxy_round->cxx_design_patterns_uml cxx_design_patterns_sensor_hierarchy Exercise Foundation: Sensor Hierarchy cxx_exercises_design_patterns_proxy_round->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_proxy Proxy cxx_exercises_design_patterns_proxy_round->cxx_design_patterns_proxy cxx_design_patterns_observer Observer cxx_design_patterns_observer->cxx_design_patterns_uml cxx_design_patterns_observer->cxx03_inheritance_oo_interface cxx_design_patterns_interpreter Interpreter cxx_design_patterns_interpreter->cxx_design_patterns_uml cxx_design_patterns_interpreter->cxx03_inheritance_oo_interface cxx_design_patterns_oo_principles OO Design Principles cxx_design_patterns_oo_principles->cxx_design_patterns_uml cxx_design_patterns_oo_principles->cxx03_inheritance_oo_interface cxx_design_patterns_adapter Adapter cxx_design_patterns_adapter->cxx_design_patterns_uml cxx_design_patterns_adapter->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_adapter->cxx03_inheritance_oo_interface cxx_design_patterns_composite Composite cxx_design_patterns_composite->cxx_exercises_design_patterns_proxy_round cxx_design_patterns_composite->cxx_design_patterns_uml cxx_design_patterns_composite->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_composite->cxx_design_patterns_proxy cxx_design_patterns_composite->cxx03_inheritance_oo_interface cxx_design_patterns_command Command cxx_design_patterns_command->cxx_design_patterns_composite cxx_design_patterns_command->cxx_design_patterns_uml cxx_design_patterns_command->cxx03_inheritance_oo_interface cxx_design_patterns_abstract_factory Abstract Factory cxx_design_patterns_singleton Singleton cxx_design_patterns_abstract_factory->cxx_design_patterns_singleton cxx_design_patterns_abstract_factory->cxx_design_patterns_uml cxx_design_patterns_abstract_factory->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_abstract_factory->cxx03_inheritance_oo_interface cxx_design_patterns_singleton->cxx_design_patterns_uml cxx_design_patterns_singleton->cxx03_inheritance_oo_interface cxx_design_patterns_uml->cxx03_inheritance_oo_interface cxx_design_patterns_sensor_hierarchy->cxx_design_patterns_uml cxx_design_patterns_sensor_hierarchy->cxx03_inheritance_oo_interface cxx_design_patterns_heating_screenplay Case Study/Livehacking: Heating Control (Reading Sensors) cxx_design_patterns_heating_screenplay->cxx_design_patterns_adapter cxx_design_patterns_heating_screenplay->cxx_design_patterns_uml cxx_design_patterns_heating_screenplay->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_decorator Decorator cxx_design_patterns_decorator->cxx_design_patterns_adapter cxx_design_patterns_decorator->cxx_design_patterns_uml cxx_design_patterns_decorator->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_decorator->cxx03_inheritance_oo_interface cxx_design_patterns_proxy->cxx_design_patterns_uml cxx_design_patterns_proxy->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_proxy->cxx03_inheritance_oo_interface cxx03_introduction Introduction c_introduction_installation Installation cxx03_introduction->c_introduction_installation cxx03_data_encapsulation_ctor_custom Custom Constructor cxx03_data_encapsulation_classes_objects Classes and Objects cxx03_data_encapsulation_ctor_custom->cxx03_data_encapsulation_classes_objects cxx03_data_encapsulation_ctor_default Default Constructor cxx03_data_encapsulation_ctor_default->cxx03_data_encapsulation_ctor_custom cxx03_data_encapsulation_ctor_dtor More Constructors, Destructors cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_custom cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_default cxx03_data_encapsulation_classes_objects->cxx03_introduction cxx03_data_encapsulation_c Object Oriented Programming In Good Ol’ C cxx03_data_encapsulation_classes_objects->cxx03_data_encapsulation_c cxx03_data_encapsulation_c->cxx03_introduction cxx03_inheritance_oo_basics Inheritance Basics cxx03_inheritance_oo_basics->cxx03_data_encapsulation_classes_objects cxx03_inheritance_oo_virtual_method Virtual Methods cxx03_inheritance_oo_virtual_method->cxx03_inheritance_oo_basics cxx03_inheritance_oo_virtual_destructor Virtual Destructors cxx03_inheritance_oo_virtual_destructor->cxx03_inheritance_oo_virtual_method cxx03_inheritance_oo_polymorphism Polymorphic Usage Of Objects cxx03_inheritance_oo_virtual_destructor->cxx03_inheritance_oo_polymorphism cxx03_inheritance_oo_destructor Destructors And Inheritance cxx03_inheritance_oo_virtual_destructor->cxx03_inheritance_oo_destructor cxx03_inheritance_oo_interface->cxx03_inheritance_oo_virtual_method cxx03_inheritance_oo_interface->cxx03_inheritance_oo_virtual_destructor cxx03_inheritance_oo_interface->cxx03_inheritance_oo_polymorphism cxx03_inheritance_oo_polymorphism->cxx03_inheritance_oo_virtual_method cxx03_inheritance_oo_destructor->cxx03_data_encapsulation_ctor_dtor cxx03_inheritance_oo_destructor->cxx03_inheritance_oo_basics linux_basics_shell_commandline Commandline linux_basics_intro_overview Overview linux_basics_shell_commandline->linux_basics_intro_overview linux_basics_shell_paths Absolute and Relative Paths linux_basics_shell_paths->linux_basics_shell_commandline linux_basics_shell_cwd Current Working Directory linux_basics_shell_cwd->linux_basics_shell_commandline linux_basics_shell_cwd->linux_basics_shell_paths linux_basics_intro_process Processes, Scheduling, Address Spaces linux_basics_shell_cwd->linux_basics_intro_process linux_basics_shell_file_dir_create_rm Creating And Removing Files and Directories linux_basics_shell_file_dir_create_rm->linux_basics_shell_paths linux_basics_shell_file_dir_create_rm->linux_basics_shell_cwd linux_basics_intro_process->linux_basics_intro_overview linux_toolchain_basics Toolchain: Basics linux_toolchain_basics->linux_basics_shell_file_dir_create_rm linux_toolchain_static_library Object Code Archives/Static Libraries linux_toolchain_cmake_local->linux_toolchain_static_library linux_toolchain_cmake_stub_course Entire CMake Course linux_toolchain_cmake_local->linux_toolchain_cmake_stub_course linux_toolchain_separate_compilation Zooming In: Separate Compilation, and Linking Statically linux_toolchain_separate_compilation->linux_toolchain_basics linux_toolchain_static_library->linux_toolchain_separate_compilation