为了在最近的课程作业中获得最高分,我被要求使用 c++ 和多层编程开发一个特定的应用程序。
我了解多层架构背后的理论,以及该应用程序的哪些部分属于哪一层,但我没有实际实现“n 层”应用程序的经验。
层必须完全分开吗?例如,一个进程运行数据库,一个进程运行 UI,第三个进程管理两者之间的交互?
还是就像将应用程序分成代码层一样简单,这样 GUI 就不会直接访问数据库等。
您对 C++ 中的多层编程的任何提示将不胜感激:)
为了在最近的课程作业中获得最高分,我被要求使用 c++ 和多层编程开发一个特定的应用程序。
我了解多层架构背后的理论,以及该应用程序的哪些部分属于哪一层,但我没有实际实现“n 层”应用程序的经验。
层必须完全分开吗?例如,一个进程运行数据库,一个进程运行 UI,第三个进程管理两者之间的交互?
还是就像将应用程序分成代码层一样简单,这样 GUI 就不会直接访问数据库等。
您对 C++ 中的多层编程的任何提示将不胜感激:)
通常,当您听到“n 层”应用程序框架(在大学中)时,它们指的是逻辑分组的功能。它可以在不同的进程中,但不一定如此。Model-Control-View 架构或 MFC 的 Document-View 架构都是分层的。您只需要将存储/读取数据的代码与应用程序的业务规则与信息的显示方式分开。
注意:有些人认为“n 层”是客户端-服务器设置,但由于这是课程作业,我严重怀疑您的教授是否希望将其作为他的解决方案)。
进程间通信的一种方法是使用管道。另一个是共享内存。还有一个是boost的IPC(很肯定它有一个)。
有很多。IPC(进程间通信)是关键搜索词。
大学教授的要求往往与现实世界并不相符。由于您的成绩取决于它,我强烈建议您询问您的教授他的意思。
在现实世界中,您不必将这些层物理地分离到它们自己的进程中来称其为多层架构,但如果需要,改变它应该不难做到这一点。例如,如果您从使用本地数据库更改为使用远程数据库,则只需更改数据库层实现即可。