Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

четверг, 28 октября 2010 г.

Шаблон проектирования Facade (Фасад).

Шаблон Facade (Фасад) — Шаблон проектирования, позволяющий скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.




class Foo {
  public function bar() {
    echo "Foo::bar()\n";
  }
}

class Bar {
  public function foo() {
    echo "Bar::foo()\n";
  }
}

class Facade {
  protected $_foo = null;
  protected $_bar = null;

  public function __construct() {
    $this->_foo = new Foo();
    $this->_bar = new Bar();    
  }

  public function bar() {
    $this->_foo->bar();
  }

  public function foo() {
    $this->_bar->foo();
  }
}


$facade = new Facade();
$facade->foo();
$facade->bar();

Комментариев нет:

Отправить комментарий