I want everybody to criticise the crap out of my class diagram for this app I'm building. Here's the link to my class diagram:


The layout may look a little funky becasue i was trying to squeeze everything into the screenshot, but here's the rundown:

I have a SiteManager class that acts as a psuedo-controller, all the requests go through that.

I have two main superclasses, DynamicOutputter and RecordHandler. Each section of the web site has a corresponding "outputter" class of its own...so for news it would be News_Outputter, and that inherits from DynamicOutputter. The outputters return the formatted output for the page. Each outputter is composed with its corresponding RecordHandler(same deal for the RecordHandlers, each site section has its corresponding record handler that handles communication with the database, and inherits from the RecordHandler superclass). Each RecordHandler's sublcass overrides one method, setValueArray(), which sets its values, which are the names of the rows in the table it will be dealing with.

When the SiteManager recieves a request, it uses a factory (either DynamicContentFactory or RecordHandlerFactory) to determine which sections class to instantiate, bases on a given id parameter.

If anything else isnt clear, just ask, otherwise, fire away, as long as its constructive criticism.