在我的程序中,我有一个菜单系统,其中每个菜单都有一个单独的类,例如MainMenu将是一个单独的类。但是这个类只应该被实例化一次,并且在我实例化之后,它被保存在一个列表中,之后用于此类。我应该使用另一种解决方案吗?或者我应该将构造函数设为私有,然后在类中创建一个私有实例?我觉得这违反了OOP,但我没有看到另一种解决方案。
答案 0 :(得分:4)
不要将构造函数设为私有,这会在以后想要对其进行单元测试时产生问题。
只需实例化一次。没有软件恐怖分子多次暗中实例化你的班级。 并且避免使用Singeltons,在尝试进行单元测试时,您几乎无法重置实例。