C++ 应该使用哪种类型的设计模式来创建仿真器?

C++ 应该使用哪种类型的设计模式来创建仿真器?,c++,design-patterns,emulation,organization,C++,Design Patterns,Emulation,Organization,我已经编写了一个模拟器,但我对如何正确组织它有些怀疑,因为我看到它在类连接(CPU机器板)方面存在一些问题。 例如:I/O端口、中断、两个或多个CPU之间的通信等 我需要模拟器有最好的性能和良好的代码理解 对不起,我的英语不好 编辑: 要求多种模式。这里有两件密切相关的事情 emulator是命令定义的集合。模拟器可以做的每件事都是一个命令。有些命令是命令的嵌套序列 emulator有许多内部状态定义。模拟器所做的每一件事都会更新一个或多个状态对象 构建你的软件时不考虑“模式”。如果你打算使用这

我已经编写了一个模拟器,但我对如何正确组织它有些怀疑,因为我看到它在类连接(CPU机器板)方面存在一些问题。 例如:I/O端口、中断、两个或多个CPU之间的通信等

我需要模拟器有最好的性能和良好的代码理解

对不起,我的英语不好

编辑:


要求多种模式。

这里有两件密切相关的事情

  • emulator是命令定义的集合。模拟器可以做的每件事都是一个命令。有些命令是命令的嵌套序列

  • emulator有许多内部状态定义。模拟器所做的每一件事都会更新一个或多个状态对象


  • 构建你的软件时不考虑“模式”。如果你打算使用这些模式,那么这些模式就会自然而然地从你的工作中消失。构建您的软件,使之符合先入为主的观念,即它们倾向于使软件更庞大,更难改变

    (如果您还没有,请为您的语言下载一个单元测试框架,并用它来指导您的开发!)

    首先看一看。它似乎为模仿艺术提供了一些切入点。第二,我要看看它们是如何构成的。还可以看看SourceForge。提供以下软件模拟器:


    一般来说,对于这样复杂的任务,没有单一的模式。您肯定需要状态机模式,并且可以使用命令模式来调度操作。但我真的建议你看看其他人的作品。

    很少有一种设计模式适用于如此复杂的东西。您可能想解决您的问题。查找并下载UnitTest++(假设您使用C或C++编写代码),阅读文档,享受自由。