Welcome

首页 / 软件开发 / .NET编程技术 / .Net设计模式实例之原型模式( Prototype Pattern)

.Net设计模式实例之原型模式( Prototype Pattern)2011-01-12 博客园 灵动生活一、原型模式简介(Brief Introduction)

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

Specify the kind of objects to create using a prototypical instance, and create new objects by copying this prototype。

浅复制与深复制区别:

浅复制,被复制的所有变量都还有与原来对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。

深复制,把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。

Net命名空间System提供了一个IConeable接口,此接口只有一个方法Clone(),只需要实现这个接口就可以实现原型模式(Prototype Pattern)了。

二、解决的问题(What To Solve)

当一个对象生成不是通过New而是通过复制旧对象的时候,可以考虑使用原型模式。

三、原型模式分析(Analysis)1、原型模式结构

Prototype类:原型类 Clone()方法:克隆自身的接口。

ConcretePrototypeA、ConcretePrototypeA类:原型类的具体实现。克隆一个自身的操作。