Delegation, strongly relevant to the object adapter pattern. Dependency inversion principle, which can be thought of as applying the adapter pattern, when the high-level class defines its own (adapter) interface to the low-level module (implemented by an adaptee class). Ports and adapters architecture Shim Wrapper function Wrapper library