Design patterns little sample programs