hi what is gang of four patterns in Java Language , can anybody please explain in simple language ?