c++ 2软件,相同模型不同的 View 和 Controller

标签 c++ model-view-controller architecture layer core

我正在寻找一种优雅实用的方法来在 2 个不同的程序之间共享模型,而无需单独编译它们。

我正在为同一个客户开发 2 种不同的软件。两者以不同的方式共享相同的功能(体积填充优化)。但是用户界面既笨重又不同,因此为了清楚起见,我希望将它们分成 2 个不同的软件。

但为了重用代码并使其易于维护,我希望每个软件都有一个核心和两个分离/专用层的架构。

我考虑过创建一个 .dll 或 .so 以便两个应用程序共享它,但我在 linux 上开发并且客户使用的是 Windows,所以我发现以这种方式移植应用程序非常繁重。 (我没有任何运行 Windows 的计算机,所以我要延迟移植)

我也想过创建一个命令行程序作为核心,在运行软件的同时通过shell调用它,但这似乎无法以可移植的方式做到。

是否有一种简单且可移植的方法来执行此操作(很像在 python 中导入模块)我在 c++ 中找不到? 或者如果没有,最好使用共享库还是编译包含核心的两个软件?

最佳答案

“在包含核心的情况下编译两个软件”- 从开发人员的角度来看,为了方便起见,这是首选。

如果您真的想使用一段已编译的跨平台代码,您可能必须编写一个 c 风格的 dll。

关于c++ 2软件,相同模型不同的 View 和 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19078704/

相关文章:

c++ - 值初始化 std::array 成员?

javascript - 如何在剑道多选变量中获取选定的文本?

javascript - AngularJS Controller 返回表单

PHP:关于 MVC 中的 View 层?

java - Java中的大类分解

c++ - Qt TableView去除奇怪的方框

c++ - 如何在函数外部定义函数嵌套类的实现?

architecture - 良好的建筑面试问题

architecture - 一起使用 MySQL 和 Neo4j 是个好主意吗?

c++ - makefile自动src文件检测和依赖生成