dofactory design pattern

2 3 4 5 6