我正在寻找有关重构遗留代码类的建议。
我有一个有很多嵌套类的类。这里的技巧是它们位于类的私有部分,这意味着只有外部类可以创建该对象。
我最初的想法是将这些类拉出来放在单独的头文件中,并使构造函数私有,并让外部类成为朋友类。但后来我很快意识到,(前)外部类可以访问(前)嵌套类私有变量/方法。我认为这比冒着其他人创建(前)嵌套类的风险更糟糕。
有一个更好的方法吗?有最佳实践答案吗?
最重要的是,我想让这些巨大的嵌套类移动到不同的文件中。
也许更好的问题应该是。想改变这个有错吗??
我认为将它们捆绑在一起会使它们更难最终进行单元测试,不过,我想我可以使用friend
关键字来解决这个问题。