程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 設計模式之八(原型模式)

設計模式之八(原型模式)

編輯:C#入門知識

原型模式:用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。

Prototype,原型類,聲明一個克隆自身的接口

ConcretePrototype1,ConcretePrototype2具體原型類,實現一個克隆自身的操作

Client,調用,讓一個原型克隆自身從而創建一個新的對象

其實原型模式就是從一個對象再創建另外一個可定制的對象,而且不需知道任何創建的細節。

 Prototype原型類設計代碼

        ID { ;  Prototype(.ID = 

具體實現類ConcretePrototype

      ConcretePrototype1(  (Prototype)

其實現類中Clone方法的this.MemberwiseClone()創建當前對象的淺表副本。

方法是創建一個新對象,然後將當前對象的非靜態字段復制到該新對象。如果字段是值類型的,則對該字段執行逐位復制,如果字段是引用類型,則復制引用但不復制引用的對象,因此,原始對象及其副本引用同一個對象。
Client客戶端調用

      Main(=  ConcretePrototype1(=

運行效果展示

但對於.NET而言,那個原型抽象類Prototype是用不著的,因為克隆實在是太常用了,所以.NET在System命名空間中提供了ICloneable接口,其中就是唯一的一個方法Clone(),這樣你就只需要實現這個接口就可以完成原型模式了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved