代码之家  ›  专栏  ›  技术社区  ›  Corey Ogburn

非控制库DLL何时应显示窗口和其他GUI元素?

dll
  •  0
  • Corey Ogburn  · 技术社区  · 15 年前

    我相信这主要适用于自定义对话框被放入DLL中,但我确信有一些我没有想到的异常情况。是否有理由让一个DLL(除了控制库)显示对话框、弹出窗口或其他GUI元素?我看到它通过绕过开发人员并将决策直接传递给用户,从而从使用该库的开发人员手中夺走了控制权,但是在某些情况下,这可能是一个有效的设计吗?或者它的设计很糟糕?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Dirk Vollmar    15 年前

    为什么会是坏的?

    显然,如果应用程序的非GUI层(如数据抽象层或业务逻辑层)试图直接显示UI元素,这将是不好的,因为这与分层体系结构相矛盾,限制了组件的重用。

    然而,一个DLL不一定对应于逻辑或功能应用层,它是一个部署单元,可以包含从资源到代码到图形元素的任何内容。实际上,您可能希望将业务逻辑和GUI捆绑在单个DLL中,例如,在创建和部署应用程序扩展时。

        2
  •  0
  •   thelost    15 年前

    我相信使用异常机制是最好的方法。