computer science: Programming Patterns
high level computer science problem
including:
Notions
- UML class, object and state diagrams
- base/derived classes, inheritance, virtual functions, abstract
functions, abstract classes, access methods
invoking overriden function in an overriding function
- 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, elaborated type specifier
- delegation
- C++11 style type casting, static_cast vs. dynamic_cast; reinterpret_cast; const_cast
- C++11 enum classes
Patterns
- singleton: Meyers and classic versions, precluding object copying,
specifying behavior at shutdown
- abstract factory: factory method, abstract vs. concrete
factories/products
- template method: hooks, primitive operations, template
method
- bridge: delegation, handle, body
- adapter: adaptee, adapter, interface; class and object
implementation
- prototype: clone
- state: context, state abstract/concrete
- decorator: decoration, component
- observer: subject, observer, subscribing, registry,
message (notification)
- registry: canonical vs. non-canonical pattern, use, implementation
- chain of responsibility: handler
- command: (abstract/concrete) command, client, receiver, invoker
execute()/unexecute()
- memento: originator, memento, caretaker
8 years ago 100
Answer(0)