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
Façade Pattern.
Decorator Pattern.
Proxy Pattern.
Adapter Pattern.