Nel contesto della programmazione orientata agli oggetti, il termine Iterator (reso in italiano con "iteratore") denota uno dei più comuni e conosciuti design pattern. L'Iterator risolve diversi problemi connessi all'accesso e alla navigazione attraverso gli elementi, in particolare, di una struttura dati contenitrice, senza esporre i dettagli dell'implementazione e della struttura interna del contenitore. L'oggetto principale su cui si basa questo design pattern è l'iteratore.