patron factory method uml