C ++和多层架构

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

要回复问题请先登录注册