Angel Echo
Guest
Создание экземпляра класса только через фабрику
Есть два класса (упрощенно):
class PageFactory
{
function createPage($id) { return new Page($id); }
}
class Page
{
private $id;
function __construct($id) { $this->id=$id; }
}
Как сделать невозможным создание экземпляра класса Page в обход метода PageFactory::createPage() ?
Например, как в библиотеке DOM, можно создать объект DOMNode только через DOMDocument->createElement().
Есть два класса (упрощенно):
class PageFactory
{
function createPage($id) { return new Page($id); }
}
class Page
{
private $id;
function __construct($id) { $this->id=$id; }
}
Как сделать невозможным создание экземпляра класса Page в обход метода PageFactory::createPage() ?
Например, как в библиотеке DOM, можно создать объект DOMNode только через DOMDocument->createElement().
