Magento, IMHO, represents a PHP system that is built on well thought-out coding principles - reuseable design patterns being one of them. In terms of an example of a PHP system
Prototype:
Mage:getModel('catalog/product')->getTypeInstance();
Event-Observer Pair:
# PHP
Mage::dispatchEvent('event_name', array('key'=>$value));
# config.xml
Class_Name
methodName
Object Pool:
$id = Mage::objects()->save($object);
$object = Mage::objects($id);
Iterator:
Mage::getModel('catalog/product')->getCollection();