![]() |
1
2
让我们来看一下您提供的两个选项: 单个全局实例 赞成的意见:
欺骗:
每个函数实例唯一 赞成的意见:
欺骗:
这不是一个详尽的清单,但它确实指出了主要的权衡,因为我可以看到它们。很明显,你对情况了解得更多,也知道哪些折衷是可以接受的。一些明智选择的全局变量是有用的,但是像大多数人一样,我会尽量避免使用大量的全局变量,除非它们代表的是一些只能有一个的变量,如serialport,或者整个应用程序只能有一个的变量,如applicationsettings类。 不要低估你的时间(现在和以后当你回来维修的时候)作为一种成本。有时,“更好”的解决方案实际上可能更糟,因为它需要很长的时间来实现。通常“足够好”结果是,好吧,足够好。 |
![]() |
2
1
是的,您应该重构以仅在需要时分配对象,并在不再需要时处理它们。这总是一个好的设计选择,除非被具体的和可测量的性能要求击败。 把分配推迟到绝对需要的好处是在许多国家(大多数?)在任何情况下,都不会分配对象。拖延是值得的!;>您的应用程序运行更精简,系统作为一个整体应该更轻松。没有人喜欢使用记忆工具。 按需分配的缺点是它可能会导致用户反馈/响应延迟,这会令人恼火。如果有一个对象 相当大的 构建或初始化(例如,在网络中加载数据)的时间量,如果用户希望在单击按钮后立即看到结果,那么对于按按钮单击分配可能不是一个很好的匹配。如果您可以对单击按钮立即打开UI,但在新表单上有控件,请尽快从网络数据中填写它们自己(并指示它们正在加载某些内容),这就不会有什么问题。“相当长时间”的一般用户界面度量通常是单击和用户界面响应之间的最长半秒。 |