Junior — Middle
Pouvez-vous expliquer en quoi consiste le modèle de conception itérateur et comment il est utilisé?
sobes.tech IA
Réponse de l'IA
Le patron de conception Itérateur est destiné à parcourir séquentiellement les éléments d'une collection sans révéler sa structure interne.
Idée principale :
- L'itérateur fournit une interface pour accéder aux éléments de la collection un par un.
- Permet au code client de parcourir les éléments sans connaître la façon dont la collection est organisée en interne.
En C#, l'itérateur est implémenté à l'aide des interfaces IEnumerator et IEnumerable. En général, le mot-clé yield est utilisé pour simplifier la création d'itérateurs.
Exemple d'un itérateur en C# :
using System;
using System.Collections;
using System.Collections.Generic;
class MyCollection : IEnumerable<int>
{
private int[] data = {1, 2, 3, 4, 5};
public IEnumerator<int> GetEnumerator()
{
foreach (var item in data)
{
yield return item; // retourne les éléments un par un
}
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
class Program
{
static void Main()
{
var collection = new MyCollection();
foreach (var item in collection)
{
Console.WriteLine(item);
}
}
}
Ici, MyCollection implémente IEnumerable<int>, permettant d'utiliser foreach pour parcourir les éléments. L'itérateur cache les détails du stockage des données et offre un moyen simple de les parcourir.