Iterator design patterns, according to Microsoft, provide an idiomatic way of writing code where an enumerator accesses elements of a collection by pulling elements of a collection. Observer patterns ...