add Factory design pattern
DesignerX Model component DONE