我作为内部串行终端应用程序的单个开发人员工作。我的目标是编写一个框架,具有足够的灵活性,我可以用它来创建三个独立的应用程序:串行终端应用程序的设计模式
- 串行终端应用程序(很像超级终端)
- 数据分析中的应用(将整理并显示根据串行数据一定的标准)
- 解码应用(将处理串行数据,并从数据库中显示相关信息)
在未来的某个时刻,我想这三个应用程序合并为一个。但是,这远非优先事项。我已经将框架分成三个独立的部分 - GUI(视图接口),后端(控制器接口)和设置处理程序(ISettingsHandler接口)。但是,我已经遇到了一些循环依赖问题(ISettingsView必须移动到与ISettingsHandler相同的命名空间),表明了更多的麻烦。是
我的针对每个应用的要求如下:
- 串行终端 - GUI必须能够将数据传输到和从串行端口,显示和修改设置,和发送文件
- 串行分析应用 - 界面必须能够检索收到的串行数据,并显示和修改设置
- 解码应用 - GUI必须能够检索输入的串行数据
我是否比这应该是更复杂?我知道我可以用更少的接口完成同样的事情,但我担心这个框架的灵活性,以备将来使用。有没有适合这种情况的设计模式?
编辑:为了澄清,每个框架的三个“片”的是在不同的命名空间。
我已经修复了循环依赖,但是,我仍然不确定这是否是此应用程序的最佳设计模式。任何建议?
命名空间是逻辑分隔符和一种组织类的方法。你如何组织他们取决于你。如果它们不相关,我不会将它们放入同一个命名空间。 – 2011-02-01 17:12:53