It is an abstract class which contains all the methods which may be used when a Controller calls a Model. The methods fall into one of the following categories
- Methods which allow it to be called by the layer above it (the Controller or the View)
- Methods which allow it to call the layer below it (the Data Access Object).
- Methods which sit between these two. Many of these are “customisable” methods which are empty, but could be filled with code in order to override the default behaviour.
Tae a look at http://www.tonymarston.net/php-mysql/your-code-is-crap.html#table1if you want a more detailed description.
Every one of those methods belongs in the Model and not in a Controller, View or Data Access Object, so to say that it is “too big” based on nothing more than a count just a joke. None of those methods belong anywhere else, so they are where they belong.