Practices - Design Patterns
If using a widely used design pattern ( such as a visitor, provider, facade etc ) affix the name of the implementing class with the name of the pattern.
class rolling_stock_visitor; class stock_price_change_observer; class ogre_window_management_wrapper;
Rationale: Such names are descriptive of what the class really is, thus help to document to code.
When using a pattern use it only in the canonical form. Do not use the pattern infrastructure outside the pattern mechanisms.