Ho qualche domanda sul pattern Composite. Ho implementato un modello come questo:
Element
èunaclasseastratta,RegexElement
èla"primitiva", una sottoclasse di Element e RegexBlock
, la vera classe Composite, che ha come variabile d'istanza un Elenco di elementi.
1) Vorrei accedere a tutti i fogli di questa struttura, una sorta di passaggio da un elenco di elementi a un elenco di RegexElement. Come posso farlo? Crea una sorta di classe wrapper con una lista di elementi come variabile di istanza o prova in altro modo, magari implementando un pattern Visitor?
2) Ho visto sul web una diversa implementazione del pattern Composite, e molti di loro non usano una classe astratta per la mia classe Element, ma un'interfaccia e una classe astratta per la mia classe RegexBlock. Alla fine la mia implementazione del pattern segue la descrizione del pattern:
The composite pattern describes that a group of objects is to be treated in the same way as a single instance of an object.
Non è corretto? Grazie in consiglio.