Singleton Pattern是否适用于没有Application Framework的VB.Net托盘应用程序?

时间:2016-08-26 17:39:22

标签: vb.net

我正在创建一个不使用应用程序框架的Windows托盘应用程序。启动对象是一个模块子,它调用类来直接在托盘中创建应用程序图标,而无需打开任何表单。

我刚开始阅读有关Singleton Pattern的内容,目的是让应用程序成为单例。这似乎是它应该做的方式,但......外观和现实并不相同。看起来不错的可能不是。

  • 单身是制作托盘应用程序单一实例的最佳方式吗?
  • 还有其他方法可以考虑吗?
  • 使用这些方式开发时是否会出现任何常见问题?

1 个答案:

答案 0 :(得分:1)

似乎存在一个根本的误解,即单身是什么导致你误入歧途。单例是一个类,它强制在应用程序的整个生命周期中只能有一个类的实例。

单例模式不适用于整个应用程序。

如果您要求应用程序将自己限制为仅允许在任何给定时间运行一个实例,那么我过去所做的就是让您的应用程序在启动后立即检查计算机上正在运行的进程。如果找到与您的应用程序名称相同的名称,则第二个实例会自行停止。

  • 这种方法的缺陷是没有什么可说的,一些外部应用程序不能与你的应用程序具有相同的名称(但不太可能);

除此之外,我从未真正研究过它,因此我无法评论任何其他可行的选择。