据我所知,飞重设计模式与工厂或单件设计模式并没有太大不同。
它只是一个生产不可变(和池化)对象的工厂。它只是一个单例,它为每种类型(托管对象)提供了一个实例,而不是一个全局的单个实例。
工厂和单件都是创造模式,所以为什么要将飞重视为一种结构模式?
发布于 2015-06-10 14:05:27
飞权模式的本质不是创建对象,而是共享对象。模式声明要共享的对象通常保存在某些外部数据结构中,但没有指定如何创建或表示这些数据结构。
使该模式结构的是使用工厂类来获得飞重。这就给设计强加了一个静态的结构。
发布于 2015-06-10 09:34:17
飞重模式不会创建任何对象。它用于存储多个对象之间共享的数据。您可以将它的使用与类中的静态方法/变量进行比较。您可以使用保存此方法或数据的全局实例来减少应用程序的内存占用,而不是为每个实例定义它们。
假设您正在使用多个解析器解析一个大型数据文件,而不是让每个解析器读取完整的数据文件,您可以使用飞权模式来保存每个解析器可以访问的数据文件的单个实例。
https://stackoverflow.com/questions/30744289
复制相似问题