Java 单例设计模式 vs 全局变量
Java singleton design pattern vs global variable
我开发了一个"Quiz application in java",它有许多功能,如问答引导,即时报告功能,学生可以post他们的疑惑和所有。
我想维护请求测验的学生人数、提交回复的学生人数、活跃学生总数和其他一些详细信息的日志。
我正在使用具有静态变量的全局 class 来保存这些详细信息。这是维护它的正确方法还是我应该使用 Singleton 设计模式?
请告诉我两者的优缺点以及何时使用哪一个?
长话短说:使用全局变量会破坏 OOP 规则(封装)。您将继续使用它们,直到您的代码变得一团糟。
因此,我不会使用全局变量,而是使用单例(但要确保它是线程安全的)。这两种解决方案都不是好主意。
P.S。网上有很多资料:
- Should I use global variables here?
- How to create a manager class without global variables nor singletons?
- Why are static variables considered evil?
- Avoid Global Variables, Environment Variables, and Singletons
我开发了一个"Quiz application in java",它有许多功能,如问答引导,即时报告功能,学生可以post他们的疑惑和所有。
我想维护请求测验的学生人数、提交回复的学生人数、活跃学生总数和其他一些详细信息的日志。
我正在使用具有静态变量的全局 class 来保存这些详细信息。这是维护它的正确方法还是我应该使用 Singleton 设计模式?
请告诉我两者的优缺点以及何时使用哪一个?
长话短说:使用全局变量会破坏 OOP 规则(封装)。您将继续使用它们,直到您的代码变得一团糟。 因此,我不会使用全局变量,而是使用单例(但要确保它是线程安全的)。这两种解决方案都不是好主意。
P.S。网上有很多资料:
- Should I use global variables here?
- How to create a manager class without global variables nor singletons?
- Why are static variables considered evil?
- Avoid Global Variables, Environment Variables, and Singletons