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

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

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

简介:

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

适用场景:

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

优点:

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

缺点:

增加复杂性。

代码: //用户类 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
word文档不显示图片怎么办(word文档几种不显示图片的解决方法) python 进程池 锁(python守护线程是什么)