设计模式导入文件会改变行为

时间:2011-09-29 16:05:41

标签: import design-patterns state

我正在开发一个程序可以执行许多操作的应用程序。它依赖于导入的XML文件和建立的DB连接。但是,某些功能可以在没有导入xml文件的情况下工作,有些功能只有在导入XML或仅在连接数据库时才能工作。

所以,我的问题是我应该使用什么设计模式来模拟这个?我读到了状态模式,其中对象的行为相对于当前状态发生了变化。这是一个很好的方式吗?例如,我可以有几种状态:XML_FILE_IMPORTED_ONLY,DB_CONNECTED_ONLY,XML_IMPORTRED_AND_DB_CONNECTED,NOTHING_IMPORTED并基于对象的当前状态相关功能将可用?

非常感谢任何帮助。

此致

斯托

1 个答案:

答案 0 :(得分:0)

您有两台状态机,每台都控制整个州的一部分。每个状态机将独立于另一个执行转换。

XML导入的Statemachine

初始状态: 未导入

  1. 未导入。过渡:“导入发生” - >导入。
  2. 进口。过渡:“卸载” - >没有导入。
  3. 数据库连接状态机

    初始状态: 未连接

    1. 未连接。过渡:“连接成功” - >连接。
    2. 连接。过渡:“断开” - >没有连接。
    3. 编辑:状态机对此问题有点过分。 有问题的状态机每个都有两个状态,每个方向有一个转换。表示这种情况的更好方法是使用boolean变量。

      boolean dbConnected;
      boolean xmlImported;