3

为了在最近的课程作业中获得最高分,我被要求使用 c++ 和多层编程开发一个特定的应用程序。

我了解多层架构背后的理论,以及该应用程序的哪些部分属于哪一层,但我没有实际实现“n 层”应用程序的经验。

层必须完全分开吗?例如,一个进程运行数据库,一个进程运行 UI,第三个进程管理两者之间的交互?

还是就像将应用程序分成代码层一样简单,这样 GUI 就不会直接访问数据库等。

您对 C++ 中的多层编程的任何提示将不胜感激:)

4

3 回答 3

4

通常,当您听到“n 层”应用程序框架(在大学中)时,它们指的是逻辑分组的功能。它可以在不同的进程中,但不一定如此。Model-Control-View 架构或 MFC 的 Document-View 架构都是分层的。您只需要将存储/读取数据的代码与应用程序的业务规则与信息的显示方式分开。

注意:有些人认为“n 层”是客户端-服务器设置,但由于这是课程作业,我严重怀疑您的教授是否希望将其作为他的解决方案)。

于 2011-02-21T18:29:57.143 回答
1

进程间通信的一种方法是使用管道。另一个是共享内存。还有一个是boost的IPC(很肯定它有一个)。

有很多。IPC(进程间通信)是关键搜索词。

于 2011-02-21T18:20:05.367 回答
1

大学教授的要求往往与现实世界并不相符。由于您的成绩取决于它,我强烈建议您询问您的教授他的意思。

在现实世界中,您不必将这些层物理地分离到它们自己的进程中来称其为多层架构,但如果需要,改变它应该不难做到这一点。例如,如果您从使用本地数据库更改为使用远程数据库,则只需更改数据库层实现即可。

于 2011-02-21T18:53:43.673 回答