Magento utilizes a unique MVC pattern, utilizing a DOM based configuration layer. It leverages xml to drive the configuration and actions of the application on top of the regular Model-View-Controller architecture.
Magento utilizes Models to leverage the business logic of the application. It also leverages resource models for database interaction. You can leverage
Mage_Core_Model_Abstract to see how Models are built. Models are held in the Model folder of a particular Module.
Magento uses fat views to help display it’s content. It leverages classes called Blocks to help in the rendering of it’s views. Every view has an appropriate class to correspond with it. Views are held in theme files.
Mage_Core_Block_Template will get you started. Views are held in the templates located in
app/design/ and Blocks are held in the Block folder of a particular module.
Magento uses thin controllers for it’s process. It utilizes controllers mostly for driving the applications requests. It helps load the module, the controller, and the method. Blocks/Views take care of much of the rest.
Mage_Core_Controller_Front_Action will get you started. Controllers are stored in the controllers folder of a particular module.
References for MVC: