享元模式,主要在于共享通用对象,减少内存的使用,提升系统的访问效率。而这部分共享对象通常比较耗费内存或者需要查询大量接口或者使用数据库资源,因此统一抽离作为共享对象使用。
在享元模式的实现中需要使用到享元工厂来进行管理这部分独立的对象和共享的对象,避免出现线程安全的问题。

class Flyweight
{
public:
virtual void Operation() = 0;
};
class ConcreteFlyweight : public Flyweight
{
public:
void Operation() {};
};
class UnshareConcreteFlyweight : public Flyweight
{
public:
void Operation() {};
};
class FlyweightFactory
{
public:
FlyweightFactory() { confly = nullptr; uncfly = nullptr; }
~FlyweightFactory() { delete confly; delete uncfly; }
void GetFlyweight()
{
if (confly == nullptr)
confly = new ConcreteFlyweight();
confly->Operation();
if (
享元模式通过共享技术有效支持大量细粒度对象的复用,降低内存占用,提高系统性能。本文聚焦C++中享元模式的应用,探讨如何使用享元工厂管理共享与非共享对象,确保线程安全。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



