Iterator (257) - Behavioral

  • Objetivo: prover uma forma de acessar os elementos de um agregado sequencialmente sem expor sua representação interna.
  • Em outras palavras, uma forma uniforme de percorrer diferentes tipos de coleções de objetos.
  • Também conhecido como: Cursor

    Iterator pattern - Wikipedia

  • Usos conhecidos: coleções em Smalltalk; posteriormente adotadas em C++ STL, em Java e em boa parte das linguagens modernas.
  • Em Smalltalk podemos usar iteradores implicitamente (através, por exemplo do Collection>>do:) ou explicitamente através de Streams que oferecem uma interface no estilo de iteradores.

  • Esse estilo foi também introduzido em java e python. Interessante ver a evolução em Java: https://knowm.org/iterating-through-a-collection-in-java/
  • Um muito bom sobre o padrão Iterator


Interpreter (243) - Comportamental


Última atualização: segunda-feira, 31 out. 2022, 17:33