• 欢迎来到本博客,希望可以y一起学习与分享

PHP设计模式——享元模式

PHP benz 4年前 (2017-12-19) 145次浏览 0个评论 扫描二维码

享元模式使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。

UML类图:

角色分析:

享元工厂角色(FWFactory):创建并管理BlogModel对象。
所有具体享元父接口角色(BolgModel):接受并作用与外部状态。
具体享元角色(JobsBlog):具体变化点,为内部对象增加储存空间。

代码实现:

客户端调用代码:

优点:

1.减少运行时对象实例的个数,节省内存
2.将许多“虚拟”对象的状态集中管理

缺点:

一旦被实现,单个的逻辑实现将无法拥有独立而不同的行为

适用场景:

当一个类有许多的实例,而这些实例能被同一方法控制的时候,我们就可以使用享元模式。


文章 PHP设计模式——享元模式 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!