我有一个大型的树状对象数据结构,这些对象的行为基本相同,但在计算用于在结构中导航的一些键的一种或两种方法上有所不同。不同的行为取决于对象在结构中的位置。
我从一个抽象基类开始,并有几个实现每种行为的子类。这给了我大约十个子类型,它们 a) 难以智能地命名,b) 在我的项目的源文件夹中看起来有点笨拙,因为它们都非常相似。
我更喜欢有一个工厂类来动态分配匿名子类的实例。这将给我很大的灵活性,并为许多不错的改进打开大门,例如共享数据和参数化的东西,并且在我的代码结构中看起来更清晰。然而,整个事情对内存占用和内存访问时间非常敏感,我会有很多这样的对象。我是否必须考虑匿名课程的任何缺点或特点?