Scusa, ma a me sinceramente rivedere per l'ennesima volta la ricreazione di un framework da 0 stomaca alquanto. Partendo dal presupposto che l'MVC è un pattern abbastanza semplice da capire, la sua implementazione fatta come si deve richiede parecchio lavoro. Soprattutto quando parli di "M", li le cose si complicano alquanto. Quindi ti suggerirei alcune strade:
1) Usi un framework serio e completo (Symfony ad esempio) che ha tutto quello che ti serve per sviluppare e per capire quello che stai facendo
2) Usi vari framework per realizzarne uno tuo fatto a mano, in maniera da andare proprio dentro all'implementazione di un MVC ma con della roba già pronta
http://fabien.potencier.org/article/...ponents-part-1
http://twig.sensiolabs.org/
http://www.doctrine-project.org/
3) Parti da 0 proprio senza prendere spunto da script strani dal nome improbabile e ti scrivi tutto a manella (buona fortuna)
Anche perchè per implementare la M ci sono mille modi diversi:
http://www.oracle.com/technetwork/ja...ct-138824.html
http://msdn.microsoft.com/en-us/library/ff649690.aspx
http://martinfowler.com/eaaCatalog/index.html
etc etc etc per ogni punto del framework che andrai a vedere. L'approccio che piu preferisco è il repository pattern, dove hai il model che è una classe POJO semplice semplice con le relazioni uno/molti, molti/molti, etc con gli altri models, e poi hai i repository che forniscono i metodi per interrogare i singoli model (ad esempio nel tuo caso avresi uno ShopRepository col metodo "findAll" che ritorna una collezione di model Shop)