CS3 CONSULTATION TIME, FINAL EXAM TIME, STUDY TOPICS Consultation: Saturday Dec 12, 1:00-4:00pm, MSB 356 Final exam: Wednesday, Dec 16, 10:15am - 12:30pm MSB 121 TOPICS (not an exhaustive list) Notions - UML class, object and state diagrams - creational vs. behavioral vs. structural pattern - base/derived classes, inheritance, virtual functions, abstract functions, abstract classes, access methods - overloading vs. overriding - idioms vs. design patterns vs. frameworks - multiple inheritance; private vs. public inheritance, usage - type covariance - push and pull implementation methods - (forward) class declaration - delegation - pattern implementation using templates - PIMPL idiom - nested classes - double dispatch: static/dynamic dispatch, single dispatch, double dispatch - smart pointers: unique_ptr, shared_ptr, reference cycle, weak_ptr Patterns creational - singleton: Meyers and classic versions, precluding object copying, specifying behavior at shutdown - abstract factory: factory method, abstract vs. concrete factories/products - prototype: clone behavioral - template method: hooks, primitive operations, template method - state: context, state abstract/concrete - decorator: decoration, component - observer: subject, observer, subscribing, registry, message (notification) - chain of responsibility: handler - strategy: strategy, context - visitor: element, visitor, abstract and contrete visitors - composite: component, leaf, collection - memento: originator, memento, caretaker - command: (abstract/concrete) command, client, receiver, invoker structural - bridge: delegation, handle, body - adapter: adaptee, adapter, interface; class and object implementation