我有一个类在我的项目的很多地方都被用作成员。 现在,我想要一个多态而不是这个类,实际对象将由某种工厂创建。
我必须在以下两者之间做出选择:
- 必须更改我使用该类的所有地方 - 调用工厂并使用指针而不是直接使用对象。
- 将类更改为包装器,这将调用我将创建的新多态类的函数。
我应该更好地选择哪种策略?
最佳答案
把我用类调用工厂的地方都改成直接用指针代替对象
这样最好。起初看起来很痛苦,但它比实现包装器更干净且可扩展,因为您不想搜索 new MyClass(
。
一旦你用new
列出了所有的地方,你就会发现这并不是一件很糟糕的工作。
关于c++ - 如何将现有类重构为多态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3139814/