您的位置:首页 > 其它

设计模式--原型模式

2017-12-19 22:16 106 查看
原型模式:当创建给定类的实例的过程很昂贵或很复杂时,就使用原型模式;
  

使用场景
在电子游戏中,每进入一个新的场景,就会有新的怪物出现;而且我们自己还可以创建怪兽;

问题:
创建各种怪兽实例,已经很麻烦了,还要将各种状态细节放在构造函数中,看起来不太内聚。如果能在单一区域内封装所有的实例化细节就好了;
如果能够将负责处理创建怪兽的细节代码,从实际需要动态创建实例的代码中解耦,那么程序将变得相当干净;

使用原型

原型模式允许你通过复制现有的实例来创建新的实例(在Java中,这通常意味着使用clone()方法,或者反序列化)。这个模式的重点在于,客户的代码在不知道要实例化何种特定类的情况下,可以制造出新的实例;





优点:
向客户隐藏制造新实例的复杂性;
提供让客户能够产生未知类型对象的选项;
在某些还环境下,复制对象比创建新对象更有效;

用途和缺点:
在一个复杂的类层次中,当系统必须从其中的许多类型创建新对象时,可以考虑原型;
缺点:对象的复制有时相当的复杂;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式