我正在考虑在我正在开发的 winforms 应用程序中使用单例模式,但很多人似乎认为单例是邪恶的。我正计划制作一个单例的“主菜单”表单。我想不出有什么理由需要我的主菜单的多个实例,而且它总是出现的第一个表单,所以如果它被不必要地实例化,我不担心浪费资源。
此外,如果主菜单有多个实例,我可能会看到问题。例如,如果另一个表单有一个“主菜单”按钮并且有多个主菜单实例,那么显示哪个实例的决定似乎是模棱两可的。
另外,如果我有另一个必须查看程序状态以确定是否已经存在主菜单实例的 winform,那么我觉得我正在破坏模块化,尽管我可能错了。
在这种情况下我应该避免使用单例还是将主菜单设为静态会更好?
几天前我才开始使用 c#,在过去的几年里我并没有真正用 OOP 做太多事情,所以如果这是一个愚蠢的问题,我深表歉意。
谢谢