Concrete Iterator (ProductIterator):?
Short answer: The ProductIterator class is the concrete iterator that implements the IIterator<Product> interface. It holds a reference to the collection (ProductCollection) and provides the logic for iterating over it, including HasNext() and Next() methods to navigate through the collection. public class ProductIterator : IIterator<Product>
Example code
{
private readonly ProductCollection _collection;
private int _current = 0;
public ProductIterator(ProductCollection collection) =>
_collection = collection;
public bool HasNext() => _current < _collection.Count;
public Product Next() => _collection[_current++];
}
Real-world example (ShopNest)
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png