C ++和多层架构

时间:2011-02-21 18:13:43

标签: c++ n-tier-architecture multi-tier

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

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

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

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

您对C ++中多层编程的任何提示都将非常感激:)

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

在现实世界中,您不必将层级物理地分隔到它们自己的进程中,以将其称为多层体系结构,但如果需要,则更改它并不困难。例如,如果从使用本地数据库更改为远程数据库,则只需更改数据库层实现。