Skip to content

Motivation Behind geeMVC

Michael Delamere edited this page Jul 28, 2016 · 3 revisions

There are some very good MVC-frameworks out there - so why create another? When testing various MVC-frameworks for a large and very flexible E-Commerce platform we noticed that, although most of them meet our needs to a certain degree, there was always something that the frameworks lacked in order to completely fullfill our requirements. And although the main frameworks offer good extension points, like adapter classes etc, or to override certain classes via configuration, there always seemed to be some caveat, like private or static fields and methods, which made it impossible to extend the functionlity as needed. After a year of creating workarounds in order to make the required changes we made the decision to create our own MVC-framework, which is fun and simple to use and enables you to change practically any class to your needs. Specifically, using geeMVC, we were able to solve:

  • Instantiating framework classes at runtime for a large dynamic multi tenancy SaaS application.
  • Easily being able to override the class-loading-mechanism (of contollers etc.) so that classes from external modules could be used.
  • Replacing the standard framework cache with a context-specific caching mechanism so that entries from various SaaS users did not overwrite each other.
  • Enabling custom binding and validation of an attribute based architecture so that attributes could automatically be validated and set in respective objects.

Some of these things are also possible to adapt in other frameworks, but quite often it felt heavy, required a lot of code, complex configuration or was not possible without a lot of copy&pasting due to the use of private or static fields and methods.

Clone this wiki locally