C++;和多层体系结构 在最近的一个课程中,为了达到最高的成绩,我被要求用C++和多层编程开发一个特定的应用程序。

C++;和多层体系结构 在最近的一个课程中,为了达到最高的成绩,我被要求用C++和多层编程开发一个特定的应用程序。,c++,n-tier-architecture,multi-tier,C++,N Tier Architecture,Multi Tier,我了解多层体系结构背后的理论,以及该应用程序的哪些部分属于哪一层,但我没有实际实现“n层”应用程序的经验 这一层必须完全分开吗?例如,一个进程运行数据库,一个进程运行UI,第三个进程管理两者之间的交互 或者它只是简单地将应用程序分成代码层,这样GUI就不会直接访问数据库等 < >对于C++中的多层编程,任何技巧都将非常感谢:(< P>)进程间的一种通信方法是使用管道。另一个是共享内存。还有一个是boost的IPC(很确定它有一个) 有很多。IPC(进程间通信)是关键的搜索术语。通常,当你听到“n

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

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

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


< >对于C++中的多层编程,任何技巧都将非常感谢:(

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

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

通常,当你听到“n层”应用程序框架(在大学里)时,它们指的是逻辑分组的功能。它可以在单独的过程中进行,但不一定如此。模型控制视图体系结构或MFC的文档视图体系结构都是分层的。您只需要将存储/读取应用程序业务规则中数据的代码与信息的显示方式分开


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

< P >大学教授经常有一些不符合真实世界的要求。由于你的分数取决于它,我强烈建议你问问你的教授他的意思


在现实世界中,您不必将各层物理地分离到它们自己的流程中来称之为多层体系结构,但是如果需要,那么改变它来实现这一点应该并不困难。例如,如果从使用本地数据库更改为使用远程数据库,则只需更改数据库层实现

在你开始你的项目之前,你不应该问你的导师他/她对“n-tier”的理解吗?您的作业不会由SO用户评分!:-)n层实现仅适用于那些希望达到最高等级的人。讲座中从未讨论过这个问题,因为我们需要自己做研究。(或者问人们:D)讲师们并没有教我们这一点。它被认为是一个高级的话题,只适合那些想要最高分数的人。谢谢你的回答