A ------------- is a direct stand-in for another class and it typically has the same interface as that class because it implements a common interface or an abstract class.
Decorator Pattern.
Façade Pattern.
Proxy Pattern.
Adapter Pattern.