标签:caching VID private wrap img 模式 nes pat addition
结构模式最后一个,接着进入行为模式。
<?php /* The proxy design pattern functions as an interface to an original object behind the scenes. It can act as a simple forwarding wrapper or even provide additional functionality around the object it wraps. Examples of extra added functionality might be lazy loading or caching that might compensate for resource intense operations of an original object. */ interface ImageInterface { public function draw(); } class Image implements ImageInterface { private $file; public function __construct($file) { $this->file = $file; sleep(2); } public function draw() { echo ‘image: ‘ . $this->file . ‘<br/>‘; } } class ProxyImage implements ImageInterface { private $image = null; private $file; public function __construct($file) { $this->file = $file; } public function draw() { if (is_null($this->image)) { $this->image = new Image($this->file); } $this->image->draw(); } } $image = new Image(‘image.png‘); $image->draw(); $image = new ProxyImage(‘image.png‘); $image->draw(); ?>
标签:caching VID private wrap img 模式 nes pat addition
原文地址:https://www.cnblogs.com/aguncn/p/11183033.html