describe Doctrine and add pattern details