我需要找出Prototype D.P和Flyweight D.P.之间的一些区别。 我知道,基本的区别在于前者制作了深层复制品。而这封信是共同的对象。 我的讲师说有更多的不同。
有人知道其他人吗?
答案 0 :(得分:7)
首先,它们属于不同的类别:原型是创造型,Flyweight是结构型。
在Prototype对象的创建过程中进行克隆,它可以简化对象的创建。通过发出克隆请求,我们每次都会创建新的克隆对象。
在Flyweight中,通过发出请求,我们尝试通过共享来尽可能多地重用对象。如果我们找不到这样的对象,将创建新的必需对象。它正在进行资源优化。
在Prototype中,我们甚至可以克隆一个对象,在我们使用大量对象的应用程序中使用Flyweight模式是有意义的。
所有描述的影响也都在实施方面。
答案 1 :(得分:2)
在Flyweight中,对象是不可变的 在Prototype中,对象是可变的。
Flyweight是指通过不创建新对象并尽可能重用现有对象来节省内存 原型是关于重用现有对象以节省新对象创建的成本。
创建多种类型的单个对象时使用Flyweight 在创建单一类型的单个对象时使用Prototype。