【发布时间】:2019-03-27 11:31:04
【问题描述】:
我正在做我自己的研究项目,并且在正确选择架构/设计模式方面非常挣扎。
在这个项目中,“系统”启动后,我需要在后台做一些事情(任务、处理、显示数据等),同时能够与系统交互,例如键盘和发送一些命令,例如“给我这个特定对象的状态”或“这个对象中的数据是什么”。
所以我的问题是 - 哪些软件架构/设计模式可以应用于这个特定项目?类/对象之间的交互应该如何组织?对象应该如何创建?
可以在这里应用“事件驱动架构”或“微内核”吗?非常感谢对有用资源的一些参考! 非常感谢您!
【问题讨论】:
-
核心功能听起来像Command pattern。无论如何,您似乎有一些复杂的应用程序,因此最好先在纸上(或一些 UML 工具)绘制您的应用程序设计,这应该是多种模式的组合。
-
直觉和体验。主题太宽泛了。
-
查看本书Design Patterns
-
小心设计模式。如果你把它们撒在你的代码中,希望一切都很好,你很快就会遇到一个难以阅读的样板文件。它们是食谱,而不是解决方案。我对你的建议是选择一张纸和一支铅笔,开始绘制你领域中的所有实体,以及它们的所有必需品,然后看看它们之间的关系。力求高内聚和松耦合。将设计模式留给实施阶段。
-
@rcsteira 很好的建议!
标签: c++ design-patterns architectural-patterns