predic object dm design dsgr problem problem model facad classifi dm collect col model core helper associ dm list name arrai list iter col iter model facad equal name contain problem problem problem 