2015-12-19 70 views
3

我需要找出Prototype D.P和Flyweight D.P.之間的一些區別。 我知道基本的區別在於前者可以進行深層複製。而信件則是共享對象。我的講師說有更多的差異。原型VS. Flyweight Design Patterns

有人認識別人嗎?

+3

flyweight是一種在實例之間共享底層數據以節省空間和時間的模式。原型是一種創造抽象模式。所以它們引用並用於不同的東西 –

+0

GOF設計模式書籍參考http://www.uml.org.cn/c++/pdf/DesignPatterns.pdf,原型在第133頁,享元在第218頁 –

+0

I瞭解他們兩人。但我無法理解他們之間的差異,預計我所說的。 – Matan

回答

3

首先他們屬於不同的類別:原型是創造性的,權重是結構性的。

在Prototype對象的創建過程中經歷了克隆,它緩解了對象的創建。通過提出克隆請求,我們每次都會創建新的克隆對象。

在Flyweight中,通過提出請求,我們嘗試通過共享它們儘可能多地重用對象。如果我們找不到這樣的新對象,將會創建新對象。它正在完成資源優化。

在Prototype中,我們甚至可以克隆一個對象,當應用程序中我們使用大量對象時,Flyweight模式很有意義。

所有描述對執行方面都有影響。