从一个简单的有关问题,谈一下设计的思想
从一个简单的问题,谈一下设计的思想
问题很简单,我想听一听大家的设计思想:
假设我想写一个彩票开奖信息相关的程序,彩票的彩种很多,比如大家常见的 双色球,福彩3D,七乐彩,七星彩,体彩.......
我的程序,就是要记录每次开奖的信息(有专门的人,通过界面来进行相应的录入)。
现在的问题是,如何组织这样的数据结构合理:
每个彩种都不一样,开奖的数字不一样,甚至开奖的数字个数都不同,将来可能还添加什么足球比分竞猜的彩票...
我原来的思想是:
1.简历一个抽象类 astrob class Lottery
{
添加一些彩票所共有的东西,如开奖信息,奖金金额等
}
2. 简历分类 如 class 双色球:Lottery { 双色球集成抽象类...里面再增加它的特色的信息,如奖池等 }
CLASS 福彩3D:Lottery{ 。。。。}
我现在的初步想法是这样的,但是我现在有一个问题,这样的结构是否合理? 有什么好处?
各个彩票,相同点其实挺少的。。。
如果大家来设计,你们会如何做???
集思广益....
------解决方案--------------------
问题很简单,我想听一听大家的设计思想:
假设我想写一个彩票开奖信息相关的程序,彩票的彩种很多,比如大家常见的 双色球,福彩3D,七乐彩,七星彩,体彩.......
我的程序,就是要记录每次开奖的信息(有专门的人,通过界面来进行相应的录入)。
现在的问题是,如何组织这样的数据结构合理:
每个彩种都不一样,开奖的数字不一样,甚至开奖的数字个数都不同,将来可能还添加什么足球比分竞猜的彩票...
我原来的思想是:
1.简历一个抽象类 astrob class Lottery
{
添加一些彩票所共有的东西,如开奖信息,奖金金额等
}
2. 简历分类 如 class 双色球:Lottery { 双色球集成抽象类...里面再增加它的特色的信息,如奖池等 }
CLASS 福彩3D:Lottery{ 。。。。}
我现在的初步想法是这样的,但是我现在有一个问题,这样的结构是否合理? 有什么好处?
各个彩票,相同点其实挺少的。。。
如果大家来设计,你们会如何做???
集思广益....
------解决方案--------------------
- C# code
public interface IRun { void RunLottery(); } public interface IBetting { void BettingLottery(); } public class 三色球 : IRun { public void RunLottery() { // } } public class 足彩 : IRun { public void RunLottery() { // } } public abstract class Lottery { protected IRun runBehavior; protected IBetting bettingBehavior; //开奖 public void Run() { this.runBehavior.RunLottery(); } //投注 public void Betting() { this.bettingBehavior.BettingLottery(); } //说明信息 public abstract void Summary(); }