知识卡片
原型模式的三类适用场景
内容
应用[[Cloneable只是标记接口需覆写clone才真正可拷贝]]的三类场景:类初始化消耗大量资源; new对象需要繁琐数据准备或权限校验;一个对象要被多个调用者独立修改。原型模式很少单独 使用,常与工厂方法搭配:先clone产生对象,再由工厂统一提供。发散:这三类场景共同前提是 原始对象初始化成本高,与[[单例模式的收益来源]]“减少创建成本”思路一脉相承。
参考来源
- 位置:《设计模式之禅(第2版)》第13章《原型模式》(源文件:_epub-src/text/part0059.html)
- 结论依据:原文列出三类使用场景:资源优化场景(类初始化消耗大量资源)、性能和安全要求的场景(new对象需要繁琐数据准备或访问权限)、一个对象多个修改者的场景,并说明"原型模式很少单独出现,一般是和工厂方法模式一起出现"。
- 原始内容:类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等……通过new产生一个对象需要非常繁琐的数据准备或访问权限……一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时……在实际项目中,原型模式很少单独出现,一般是和工厂方法模式一起出现。