>[success] # 如果你已经读完下面的文章 ~~~ 1.在单例模式中,一个类只能创建一个对象,单例模式限制对象个数 2.享元模式中,一个类可以创建多个对象,每个对象被多处代码引用共享。享元模式是为 了对象复用,节省内存 3.对象池在任意时刻,每一个对象、连接、线程,并不会被多处使用,而是被一个使用者 独占,当使用完成之后,放回到池中,再由其他使用者重复利用。 4.享元模式中的“复用”可以理解为“共享使用”,在整个生命周期中,都是被所有使用者共享 的,主要目的是节省空间。 ~~~ >[danger] ##### 享元模式 ~~~ 'Flyweight':是抽象享元角色,为具体享元角色规定了必须实现的方法。 'ConcreteFlyweight':是具体享元角色,实现抽象享元角色定义的方法。 'FlyweightFactory':是享元工厂,负责创建和管理享元角色,它用于构造一个池容器, 同时提供从池中获得对象的方法。 'Client':是客户端角色:维护对所有享元对象的引用,而且还需要存储对应的外蕴状态。 2.关于对象的服用其实都在'FlyweightFactory' 进行了缓存来决定何时使用共享的对象 ~~~