views:

109

answers:

4

In a MVC application, what are some of the components that make up the application. What tools and functionality is missing that you would like to have. Regardless of the server-side language, what would you want?

I see a lot in my code where I code some much functionality that it seems should already be there. I looked at Google web toolkit and they seem to get it right. Widgets are widgets and you simply add them to your application.

For example. I work with J2EE apps but in other languages, the components are the same.

  1. Controller Objects
  2. Controller handlers, defined by methods in the controller objects.
  3. Configuration files defining the URL mapping and settings.
  4. Template server page files (e.g. JSP/ASP files).
  5. Configuration files defining O/RM mapping between application objects and the database.
  6. Configuration files defining the database connection properties.
  7. JavaScript libraries (e.g. jQuery)
  8. Logging configuration files
  9. Resource message bundle files
  10. Validation configuration files or code
  11. Middleware components and objects (EJB configurations, JMS/Messaging configurations, etc).
  12. Credit Card or other middleware connectivity APIs and libraries.

Anything else you can think of?

+1  A: 

Built-in Unit Testing Component

Noah Goodrich
A: 

I think one thing you're missing from that very exhaustive list is the automatic binding of request properties to form objects, and the saving of these objects to the session where appropriate. Form objects here being the object on the server that represents the current state of the HTML-based for displayed to the user.

MetroidFan2002
A: 

I think scaffolding and automatic admin interfaces are very nice features too, that I dont want to miss ;)

A: 

You've made the assumption that all MVC applications are websites. MVC is widely used for more than just web apps so things like URL mappers, template server pages and "Server side" languages are not associated with the MVC pattern, so much as a particular implementation and adaptation of the MVC for use in web apps.

Raindog
His question specifically says 'web framework'
Chris MacDonald