Builder模式和Flyweight模式在使用方面有什麼區別,因爲它們都處理大量的對象?Builder模式和Flyweight模式有什麼區別?
8
A
回答
11
Builder模式用於創建許多對象,由此飛錘圖案爲約共享這樣的對象的集合。
這兩種模式都處理「複合材料」,即可能有幾個元素的物體,但它們根本不需要一起使用。該原型使用情況飛錘就是被反覆使用文本編輯器應用程序(這是在"GoF" book給出的例子)
9
2
輕量級的模式是在適當的時候「許多對象的幾十個字符的池對象必須被操縱,而且這些不能有無關的數據。「在Java中,String對象作爲輕量級進行管理。 Java將所有固定的字符串文字放入文字池中。對於冗餘文字,Java只保留池中的一個副本。
使flyweight工作的關鍵是通過使用工廠方法或生成器設計模式控制對象實例化。工廠方法的工作僅僅是創建對象:給定輸入條件,返回適當類型的對象。
抽象工廠與構建器類似,它也可以構造複雜的對象。主要區別在於Builder模式着重於逐步構建複雜的對象。抽象因素的重點是產品對象的家族(簡單或複雜)。
相關問題
- 1. Builder,Factory Method和Abstract Factory模式之間有什麼區別?
- 2. DAO和DP模式有什麼區別?
- 3. 「::」和「sys」模式有什麼區別?
- 4. Oracle和Microsoft模式有什麼區別?
- 5. Factory和Strategy模式有什麼區別?
- 6. IE11兼容模式和IE10兼容模式有什麼區別
- 7. 設計模式和架構模式有什麼區別?
- 8. 睡眠模式和深度睡眠模式有什麼區別?
- 9. 開發模式和生產模式有什麼區別?
- 10. ASP.net實例模式有什麼區別?
- 11. MVC模式中的模型和實體有什麼區別?
- 12. 獨木舟模擬模式和測試模式有什麼區別
- 13. LUIS中的預覽模式和生產模式有什麼區別?
- 14. 操作系統中的用戶模式和內核模式有什麼區別?
- 15. NIB和XIB Interface Builder文件格式有什麼區別?
- 16. Flyweight vs對象池模式:什麼時候有用?
- 17. 這三種模塊模式有什麼區別?
- 18. Flash Professional和Flash Builder有什麼區別?
- 19. Builder模式和failling
- 20. 界面和設計模式有什麼區別?
- 21. Facade和Gateway設計模式有什麼區別?
- 22. Spring singleton和Java singeleton(設計模式)有什麼區別?
- 23. 設計和建築模式有什麼區別
- 24. 內核和用戶模式編程有什麼區別?
- 25. hl7 FHIR json模式中__assertedDate和assertedDate有什麼區別?
- 26. 策略和工廠設計模式有什麼區別?
- 27. 墊片和立面/適配器模式有什麼區別?
- 28. Python裝飾器和裝飾器模式有什麼區別?
- 29. 腳本語言和模式匹配技術有什麼區別?
- 30. 在我的Solr模式中,tdouble和tdoubles有什麼區別?