http://cohki0305.com/be_programmer/anti-patern