You've got a pretty good handle on the M & the C already. The only
changes I've made in my head lately is that I don't think model's need
to have "Model" in the class name anymore. For example,
JSolrModelQuery could just become JSolrQuery (extends JModelBase).
It's probably still worth putting "Controller" in the name of a
controller if there's nothing better to call it (the only reason the
tradition was established was to do all the crazy name parsing in 1.5
so you could infer the model and view names from the controller).
I've not really had the chance to play with views yet, but they should
really easy to implement. Wouldn't mind throwing some ideas and gists
around about how that can be approached from a ground-up Platform App
point of view. I like the idea of going to "theme" rather than
"template" (Louis is a big fan of this) as the container for layouts
and the media resources [that are exposed to the web server]. If you
wanted single theme apps, it would probably look something like:
/code
../theme
..../tmpl (or /layout)
..../theme.php
/www
../theme
..../css
..../js
Multi-theme is obviously not hard to imagine from there:
/code
../theme
..../axiom
....../tmpl (overrides)
..../tmpl (default layouts)
..../theme.php (default theme container)
/www
../theme
..../axiom
....../css
....../js
Just shooting from the hip really ...
You'd probably have an application view class that does things like
injecting a model, adding a magic __get method to get model methods,
etc.
Regards,
Andrew Eddie
http://learn.theartofjoomla.com - training videos for Joomla developers