如何在PHP中实现flyweight模式?
发布时间:2020-12-13 13:33:59 所属栏目:PHP教程 来源:网络整理
导读:这是它的定义: Use sharing to support large numbers of fine-grained objects efficiently. 但我无法弄清楚究竟是什么意思. 你能用一个小小的演示来详细说明吗? 如果您需要特定类型的大量实例,则Flyweight模式非常有用.您将所有这些实例(内在状态)相同的
这是它的定义:
但我无法弄清楚究竟是什么意思. 你能用一个小小的演示来详细说明吗?
如果您需要特定类型的大量实例,则Flyweight模式非常有用.您将所有这些实例(内在状态)相同的数据隔离到共享对象中.您只保留实例本身(外部状态)中每个实例不同的数据.好处是显着减少了内存消耗.
这是游戏行业的常见模式,通常的例子是战场上的士兵.所有士兵都拥有相同的图形表示和相同的武器,但他们的位置和健康状况不同.那么外在状态只是他们在战场上的健康和x / y / z坐标,而其他一切都在Flyweight中. 用于此模式的PHP实现很容易在Web上找到.例如 > http://sourcemaking.com/design_patterns/flyweight的一般描述和 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |