之所以把这两个模式放在一起说是因为C#语句的关系。这两种模式实现起来变得很轻松或者说不一样了。Observer(观察者) class Observer } 调用 static void Main(string[] args) } 运行结果Iterator(迭代器)分别实现IEnumerable和IEnumerator接口的类 public class Tokens : IEnumerable} public class TokenEnumerator : IEnumerator} 调用 static void Main(string[] args) } C#泛型的支持使得iterator的实现更好些。结果 相关文章: