1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- @startuml
- /' ITERATOR '/
- class Client
- interface Aggregate {
- # createIterator()
- }
- class ConcreteAggregate {
- + createIterator() : Context
- + getItem() : Int
- + getSize(): Uint
- + addItem() : Context
- }
- interface Iterator {
- # next() : Context
- # first() : Context
- # isDone() : Bool
- # currentItem() : Context
- }
- class ConcreteIterator {
- + next() : Context
- + first() : Context
- + isDone() : Bool
- + currentItem() : Context
- }
- hide empty members
- Client --> Aggregate
- Client --> Iterator
- Aggregate <|-- ConcreteAggregate
- Iterator <|-- ConcreteIterator
- note as N1
- <b><color:royalBlue>Iterator</color></b>
- <b>Type:</b> Behavioral
- Permet d'accéder aux données d'un agrégat
- de manière séquentielle sans avoir
- à connaitre la structure de données de l'objet.
- end note
- @enduml
|