首页IT科技享元模式共享网络设备(浅谈PHP设计模式的享元模式)

享元模式共享网络设备(浅谈PHP设计模式的享元模式)

时间2025-07-11 20:25:42分类IT科技浏览4865
导读:简介: 享元模式,属于结构型的设计模式。运用共享技术有效地支持大量细粒度的对象。 适用场景:...

简介:

享元模式             ,属于结构型的设计模式              。运用共享技术有效地支持大量细粒度的对象                    。

适用场景:

具有相同抽象但是细节不同的场景中      。

优点:

把公共的部分分离为抽象                    ,细节依赖于抽象       ,符合依赖倒转原则       。

缺点:

增加复杂性                    。

代码: //用户类 class User { private $name; function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } //定义一个抽象的创建网站的抽象类 abstract class WebSite { abstract public function use(User $user); } // 具体网站类 class ConcreteWebSite extends WebSite { private $name = ; function __construct($name) { $this->name = $name; } public function use(User $user) { echo "{$user->getName()}使用我们开发的{$this->name}" . PHP_EOL; } } //网站工厂 class WebSiteFactory { private $flyweights = []; public function getWebSiteGategory($key) { if (empty($this->flyweights[$key])) { $this->flyweights[$key] = new ConcreteWebSite($key); } return $this->flyweights[$key]; } } $f = new WebSiteFactory(); $fx = $f->getWebSiteGategory(电商网站 ); $fx->use(new User(客户A)); $fy = $f->getWebSiteGategory(电商网站 ); $fy->use(new User(客户B)); $fl = $f->getWebSiteGategory(资讯网站 ); $fl->use(new User(客户C)); $fm = $f->getWebSiteGategory(资讯网站 ); $fm->use(new User(客户D));

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
win10windows聚焦壁纸在哪(如何获取Windows聚焦的壁纸)