slam4:poo:designpattern