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


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

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

    前面两篇感觉上还是不够面向对象,至少要有面向对象三大特征:封装,继承,多态吧,
    第一篇仅是构建了一个双向循环链表数据结构,思想还是面向过程的。
    第二篇用到了泛型委托,但是思想和特定技术是不相关的,用到泛型委托未必就是面向对象啊。
    所以我也斗胆写了下这道题,请大家指教了:
    首先说明,这里用到了状态模式,单例模式,主要还是状态模式,实现了一个简单的状态机,
    先上图:

    再上代码:
     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

    运行结果:

    源代码:/Files/hongyin163/Test.rar

    不知道大家感觉怎样?

  • 相关阅读:
    linux发行版 以及 包管理方式
    [Linux: 使用心得]ArchLinux下安装Gnome3
    Delphi中WebService服务
    再谈企业架构业务架构
    SQL优化使用 EXISTS 代替 IN 和 inner join来选择正确的执行计划
    数据库设计使用上述四种模式的一般原则(转)
    SQL server 2005 日志恢复和审计工具
    Oracle 10g 进程体系学习总结
    查看SQL Server的事务日志
    数据库设计继承模式(转)
  • 原文地址:https://www.cnblogs.com/hongyin163/p/1555012.html
Copyright © 2020-2023  润新知