这样的程序结构设计是否合理

这样的程序结构设计是否合理?高手进
我做了一个背单词小程序,进入主菜单后有五个选项:选书,书籍管理,单词浏览,单词测试和游戏,于是我定义了五个类CTextChooser,CTextManager,CViewer,CTester和CGamer,五个类均派生自虚拟基类CMode,有一个全局CMode*指针g_pMode表示当前的模式.我想问的是定义这五个类有必要吗?结构上是否合理呢?

------解决方案--------------------
相对独立是必须的 ~
------解决方案--------------------
我觉得从CMode派生没有什么意思,就为了一个当前的模式,不如做一个模式表。
另外从相同的类派生,得有一些共性。
单词浏览和书籍没有什么必然的关系。
CGamer更可以说完全独立。
但是其中又有一个必须的类把他们关连起来,比如游戏会读取单词,有单词表。

书籍会包括单词;
选书应该是独立的。
------解决方案--------------------
发展中求模式,重构到模式,前期可别着意过度,不然早期就会承载老大压力。先简简单单搭个原型比较上策。

如果这是个真实的项目,后面有你写的了。
------解决方案--------------------
如果项目大的话,分模块写是有必要的,派生上也是有必要的

如果是个一般的话,要求不高的话,

不派生也没什么关系,对结构要求不会很大

结构多了反而变复杂了


------解决方案--------------------
不知道这5个类的共性是什么?这种派生觉得没什么意义
------解决方案--------------------
关于你的背单词软件,楼主问的其实是一个非常次要的问题。意义不大,倒不如先实现功能再优化结构,因为你现在可能还有很多细节没有考虑到,先用一个框框把它限制起来反倒不方便