[Objective-C 设计模式]原型模式

原型模式(prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

优点:

1、原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。
2、隐藏了创建细节,也提高了创建对象的性能。

缺点:

1、在实现深克隆的时候可能需要比较复杂的代码。
2、需要为每一个类配备一个克隆方法,而且这个克隆方法需要对类的功能进行通盘考虑,这对全新的类来说不是很难,但对已有的类进行改造时,不一定是件容易的事,必须修改其源代码,违背了“开闭原则”。

总结:
1、原型模式向客户隐藏了创建对象的复杂性。客户只需要知道要创建对象的类型,然后通过请求就可以获得和该对象一模一样的新对象,无须知道具体的创建过程。
2、克隆分为浅克隆和深克隆两种。
3、我们虽然可以利用原型模式来获得一个新对象,但有时对象的复制可能会相当的复杂,比如深克隆。

项目地址:https://github.com/GameRisker/Study-Design-Patterns.git

 

参考:http://www.cnblogs.com/chenssy/(Java 版本)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.