关于《关于一道C#上机题的一点想法》

看了《 关于一道C#上机题的一点想法》和《 泛型委托》两篇文章,深有感触,还是关于下面这道题:

题目:17个人围成一圈,从第一个人开始报数,报到3的退出,一直到剩下最后一个人,用面向对象的思想去做这道题。

前面两篇感觉上还是不够面向对象,至少要有面向对象三大特征:封装,继承,多态吧,
第一篇仅是构建了一个双向循环链表数据结构,思想还是面向过程的。
第二篇用到了泛型委托,但是思想和特定技术是不相关的,用到泛型委托未必就是面向对象啊。
所以我也斗胆写了下这道题,请大家指教了:
首先说明,这里用到了状态模式,单例模式,主要还是状态模式,实现了一个简单的状态机,
先上图:
关于《关于一道C#上机题的一点想法》
再上代码:
 1  using  System;
 2  using  System.Collections.Generic;
 3  using  System.Text;
 4 
 5  namespace  Test
 6  {
 7       interface  IPersonState
 8      {
 9          void  Handle();
10 
11          void  Handle(Person person);
12     }
13  }
14 

First

Second

Three

Last

Person

PersonLink

调用:
Program

运行结果:
关于《关于一道C#上机题的一点想法》
源代码:/Files/hongyin163/Test.rar

不知道大家感觉怎样?

你可能感兴趣的:(C#)