object oriented pattern will collect anti pattern