* @author Dennis Eichhorn * @copyright 2013 Dennis Eichhorn * @license OMS License 1.0 * @version 1.0.0 * @link http://orange-management.com */ namespace phpOMS\Pattern; /** * Subject. * * @category Pattern * @package Framework * @author OMS Development Team * @author Dennis Eichhorn * @license OMS License 1.0 * @link http://orange-management.com * @since 1.0.0 */ interface Subject { /** * Attach observer to subject. * * @param Observer $observer Observer * * @return void * * @since 1.0.0 * @author Dennis Eichhorn */ public function attach(Observer $observer); /** * Detach observer. * * @param Observer $observer Observer * * @return void * * @since 1.0.0 * @author Dennis Eichhorn */ public function detach(Observer $observer); /** * Notify observer of change. * * @return void * * @since 1.0.0 * @author Dennis Eichhorn */ public function notify(); }