今天小编给大家分享一下什么情况下可以适用web享元模式的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
适用性
以下的情况下可以适用享元模式。
•应用程序中大量存在相同或相似状态的对象时。
•由于应用程序功能方面的需求,需要在不同对象之间共享数据或对象时。
结构
参与者
• Flyweight (Translator)
—定义享元的接口,一般来讲接口的参数是无法共通的部分。相对于享元存储的数据来讲,称为外部数据。
• ConcreteFlyweight(ConcreTranslatorA,ConcreteTranslatorB)
—存储共通或相似的内部数据。
—根据内部数据加上外部数据构成的完整数据并实现享元接口的功能。
• UnsharedConcreteFlyweight (-)
—无论从存储效率的角度,还是应用程序需求的角度都可能存在不需要共享数据的情况。这个类的接口和享元一致,可以用来管理享元对象。
• FlyweightFactory(TranslatorFactory)
—根据使用者的需求构建适当的享元。
—根据事先决定的规则(是否共享,类型)决定新生成享元或者返回已经存在而且需要共享的享元。
协作
用户通过FlywieghtFactory取得享元对象,并使用外部数据作为参数调用享元的操作以完成功能。
以上就是“什么情况下可以适用web享元模式”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程之家行业资讯频道。