我必须为某些类型的对象创建简单的单例对象工厂。问题是我找不到阻止用户通过构造函数创建对象实例的聪明方法。我知道我可以将构造函数移动到私有/受保护部分,但是当构造函数是私有/受保护时,工厂现在将如何创建新对象?让工厂成为每个班级的朋友并不是很聪明,因为我需要在每个标题中预先声明工厂并编写额外的“朋友工厂”;在每个班级。如何正确执行此操作?
问问题
248 次
我必须为某些类型的对象创建简单的单例对象工厂。问题是我找不到阻止用户通过构造函数创建对象实例的聪明方法。我知道我可以将构造函数移动到私有/受保护部分,但是当构造函数是私有/受保护时,工厂现在将如何创建新对象?让工厂成为每个班级的朋友并不是很聪明,因为我需要在每个标题中预先声明工厂并编写额外的“朋友工厂”;在每个班级。如何正确执行此操作?