Prototype
Intent
Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.
How to
Prototype Manager
register prototypes
Prototype
declares an interface for cloning itself.
ConcretePrototype
implements an operation for cloning itself.
Known cases
Game Components
Authorization System
UML
示例:
系统一般有普通用户和高级用户,他们分别有不同的权限。如果权限设置放在文件中,每次新建用户时,都要读文件,这会造成系统的负担。因为大多数用户只有名字等其他信息不同而已,权限基本是相同的,可以运用上述模式。
代码:
注意:一般PrototypeManager是单例