Programming Techniques
From GDWiki
Some general useful programming techniques.
Contents |
[edit] Data structures
- Algorithm and Data Structures primer (incomplete)
- Arrays
- Binary heaps
- Hash tables
- Linked lists
- Queues
- Stacks
- Trees
- Balanced binary trees
- BSP trees
- Octrees and quadtrees
[edit] Design patterns
[edit] Programming patterns
[edit] Behavioral patterns
- Observer When an object changes state, other objects are notified
- State Changing object behavior depending on the state of an object
- Strategy Supplying different interchangeable variants of an algorithm in a class
- Template method Supplying an algorithm in which sub-classes can redefine certain steps without changing the overall algorithm
- Visitor Separating operations on an object from the object itself in an extendable way. The basis for "double dispatch".
[edit] Creational patterns
- Singleton Implementing a class that has exactly one instance and a global point of access
- Abstract Factory Provide an interface for creating families of related or dependent objects without specifying their concrete classes.
- Builder Implementing a class that builds parts of a complex object.
[edit] Structural patterns
- Composite Combining several objects into an object that has the same behavior as its parts
[edit] Usability patterns
- Magnetism Making it easier and less frustrating to do precise targeting
- Shield Preventing a critical action from being performed accidentally
- Context A single user command will perform the action appropriate to the context in which the command was issued
[edit] Error handling
[edit] I/O
[edit] Math Gems
- Color Operations
- Endian Operations
- Vector Operations
- Fast 4x4 Matrix Inversion
- Height of a Point in a Triangle