using system;
using system.collections.generic;
using system.linq;
using system.text;
public inte***ce ienumerator
//原**是object型別
bool movenext();
void reset();
}public class mycollection : ienumerable;}
public ienumerator getenumerator()
public class myenumerator : ienumerator
public bool movenext()
public int current
}public void reset()}}
///下面的while迴圈等價與上面的遮蔽**
ienumerator ico = col.getenumerator();
while (ico.movenext())
return strreturn;}}
}
行為型設計模式
職責鏈模式 使用多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係。將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。職責鏈模式結構圖 abstarct class handler處理請求 this.gettype name,request 轉移到下一位 cl...
行為型 設計模式
訪問者模式 資料結構相對穩定,對資料操作可變性強,資料結構提供accept方法接收乙個visitor,不同的visitor有不同的訪問此類資料結構的方法,乙個visitor多個資料 beandefinitionvisitor 或多個visitor乙個資料 模板模式 將演算法的基本步驟抽象到父類,子類...
設計模式行為型
一 責任鏈模式 這種模式中,有傳送者和接收者。通常,每個接收者都包含對另乙個接收者的引用,形成一條鏈,如果乙個接收者不能處理該請求,那麼它會把相同的請求傳給下乙個接收者,依次類推。這種模式將請求的傳送者和接收者解耦,但是不能保證請求一定被接收。使用場景是有1.多個物件可以處理同乙個請求,具體哪個物件...