Ignoring the design pattern in use, I would consider the scope of responsibility the class fulfills. If the scope is too large, it should be broken up into specific responsibilities, abstracted away, or made more generic.
I wouldn't actually take the number of lines as a meaningful metric.