情况如下:
我们(学生)必须为我们大学编写跨平台软件项目,专为处理统计数据而设计,可能是天文数字。预计学生(具有不同技能)将能够年复一年地继续维护/改进项目。
主要思想是将程序分成主要部分和多个不同的模块,可以独立编写和连接,可能是共享库。这些模块每个都包含分析和处理特定数据的方法,并给出输出(数字、字符串、图像等)。
所以我们有一小部分比较精通的学生,他们可以做主要的工作。决定选择 C++ 作为主要编程语言,选择 Qt 作为跨平台 GUI。
主要问题是关于那些将来开发模块的人。这里的教育主要是基于 Pascal/Delphi(这是乌克兰,都说:)),C++ 课程很差,绝大多数学生都懒得自己学东西,所以让我们假设,Pascal 是他们唯一的东西知道。
主要问题来了:
设计具有以下要求的模块系统的适当方法是什么:
- 项目必须是跨平台的
- 数据处理的主要功能必须作为一组(相对)独立的模块来实现
- 模块应该用不同的语言编写(Pascal 是必须的)
- 模块应该能够通过创建窗口来请求额外的数据,或者以某种方式触发主窗体中的窗口生成机制并获取新数据或更好的方法?
- 不能使用 COM 技术
- 将来编写新模块的学生的平均技能可能很低
任何想法都会被接受。