The functional case has 15 methods. In the first case there are 3 classes and 8 methods (more compact and readable). Why do I need to repeat some methods in the successors?
Now, with new web2py in trunk you can create this logic under /modules (as normal Python modules) in your controllers you will just need to instantiate your classes and work with inheritance, take a look the new "global" scope in trunk, now you can bind your "db" and other application specific objects as request,session, response in to a global object called "current" so you can access that objects in modules. I am doing some tests and I will use DAL to create my ORM too using the new importer and global scope. http://martin.tecnodoc.com.ar/default/post/2011/05/13/20_optimize-your-web2py-app-using-the-new-import-method -- Bruno Rocha [ About me: http://zerp.ly/rochacbruno ]

