iterator,mediator,observer,state