首页 > 代码库 > 享元模式

享元模式

享元模式

    运用共享技术有效地支持大量粒度的对象

享元模式

    当一个程序,多个用户对于同一个程序拥有不同需求,但是他们之间存在着相似的功能,那么随着用户的增加,在程序中相同功能模块可能产生多个相同的对象,这无疑是很耗费存储空间的,所以为了节约存储空间,优化代码,我们可以使用享元模式(如,淘宝网站,功能相似,但对于不同的用户,可能要有些不同的个性要求,但是他们之间存在着很多相似的功能模块,所以我们可以使用享元模式,事项相似功能的代码共享)

    享元模式的内部状态和外部状态

    在享元对象内部并且不会随环境改变而改变的共享部分,称之为享元对象的内部状态,而随着环境改变的,不可以公共享的状态就是外部状态了,内部状态是不变的部分,外部状态是变的部分(多个变化的外部状态,可能拥有相同的内部状态)

什么时候使用享元模式

    如果一个应用程序使用了大量的对象,而大量的这些对象造成了很大的存储开销时就应该考虑使用,还有就是对象的大多数状态是外部状态,如果删除对象的外部状态,那么可以用相对较少的共享对象取代多组对象,此时可以考虑使用享元模式



    

    

享元模式