C#设计模式之工厂方法模式(游泳成绩排名例子)

本文以C#实现工厂方法模式为例,介绍如何使用该模式处理游泳成绩数据。程序从原始文件swimer.txt读取数据,通过工厂方法模式将数据按成绩高低分别排序,并在Listbox控件上展示排序结果。
摘要由CSDN通过智能技术生成

   原始文件swimer.txt中有如下原始数据,

1 Sansan He 23 China 466
5 Vivin Luo 23 American 650
2 Stone Lee 25 China 526
4 Tom Liu 24 Japanese 612
3 Jack Chen 20 France 548
6 Mvip Bu 24 Russian 700

 现在通过利用所学的工厂方法模式设计具有如下功能的程序,将原始文件读入后,输出一份以成绩由高到低排列,一份以成绩由低到高排列的两份数据.并将输出结果显示到Listbox控件上.

程序设计如下:

第一步:   //设计模式之工厂方法模式
  //分类字符串类:实现对读入的原始数据进行拆分存储到数组中

public class StringTokenizer
         {
              private string data,delimiter;
              private string [] tokens;
              private int index=0;
              public StringTokenizer(string dataLine)
              {
                   init(dataLine,"");
              }
              private void init(string dataLine,string delim)
              {
                   delimiter=delim;
                   data=dataLine;
                   tokens=data.Split(delimiter.ToCharArray());
              }
              public StringTokenizer(string dataLine,string delim)
              {
                   init(dataLine,delim);
              }
              public bool hasMoreElements()
              {
                   return (index<(tokens.Length));
              }
              public string nextElement()
              {
                   if (index<tokens.Length)
                   {
                       return tokens[index++];
                   }
                   else
                   {
                       return "";
                   }
              }
         }

第二步: 

// 一个记录游泳选手的类
         public class Swimmer
         {
              public string frName,lName;// 选手姓名
              private string club;// 选手国籍
              private int age;// 选手年龄
              private int place;//
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值