which designpattern where used? and why?