【发布时间】:2010-09-18 05:07:39
【问题描述】:
好的,所以我知道全局变量被认为是不好的,并且单例模式被过度使用了。我在很多地方读到过,一个类应该只执行一项任务,并且只包含那些允许它完成这项任务的变量。然而,在处理我的最新项目时,我实际上在编写任何代码之前考虑了这些规则,并注意到我倾向于在程序的一开始就破坏它们。
我目前正在开发基于 MFC 对话框的应用程序,但这个问题可以应用于任何 UI 驱动的应用程序。我有单独的类来处理状态机、文件读/写和硬件接口。所有这些对象都需要某种类型的 UI 控件或属性显示/编辑。在 MFC 对话框应用程序中,对话框就是程序,所以它必须存在,直到程序关闭。我通常只是将对象放在应用程序的主对话框类中,并让对话框类具有双重职责;作为主 UI 和应用程序中所有其他对象的主页。在其他应用程序中,我在全局范围内创建了这些对象,并从需要它们的任何地方引用它们。这两种方式似乎都不正确。第一个选项打破了一个类,一个任务规则,第二个依赖于全局并创建隐藏的依赖项。我可以进行某种类型的依赖注入,但是我要注入的所有这些变量会驻留在哪里?
我只是想知道其他人如何在不违反规则的情况下组织他们的程序?
【问题讨论】:
标签: global-variables application-design