首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 設計模式:原型模式 (1) - 孫悟空「身外身法」啟發、Clone 機制與 UML 結構

     編輯:關於C語言

模式緣起:孫悟空身外身法

《西遊記》孫悟空拔毫毛吹氣變出百十個分身,各執鐵棒圍攻黃風怪。這正是原型模式核心:以一個原型物件為藍本,透過複製產生大量同類實例。

C# 內建 Clone 支援

  • 欲支援複製,類別需實作 ICloneable 介面 (含 Clone() 方法)。
  • 兩種拷貝模式:
    • 淺拷貝:MemberwiseClone(),值型別複製、參考型別共用參考。修改共用物件會互相影響。
    • 深拷貝:參考型別欄位也遞迴複製,原物件與新物件完全隔離,互不干擾。

原型模式 UML 結構

  • Client:請求建立物件。
  • Prototype (抽象原型):介面/抽象類,定義 Clone(),C# 中通常實作 ICloneable。
  • Concrete Prototype (具體原型):實作 Clone(),被複製的對象。

後續篇章將展示結構性程式碼、原型管理器、淺/深拷貝對比等進階主題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved