我有一个BigStructure类,它从一些输入构建复杂的数据结构。它还包括在该数据结构上执行操作的方法。
这个类变得太大了,所以我试着把它一分为二,以提高可维护性。我在想,将操作移动到一个新的类中是很自然的,比如OperationsOnBigStructure类。
不幸的是,由于类BigStructure是独一无二的,OperationsOnBigStructure不能合理地重用于任何其他类。从某种意义上说,它永远与BigStructure捆绑在一起。例如,典型的操作可能包括以仅对BigStructure对象有意义的方式遍历大型结构实例。
现在,我有两个类,但我感觉我没有提高任何东西。实际上,我把事情变得稍微复杂一些,因为我现在需要将BigStructure对象传递给OperationsOnBigStructure中的方法,而它们需要在内部存储该对象。
我是不是应该和一个大班一起生活?
发布于 2012-02-06 16:06:20
例如,典型的操作可能包括以只对BigStructure对象有意义的方式遍历大型结构实例。
也许您可以编写一些生成器作为BigStructure的方法,以完成繁琐的遍历工作。然后,OperationsOnBigStructure可以在执行任务时循环遍历迭代器,这可能会提高代码的可读性。
因此,通过使用两个类而不是一个类,您可以在两个阶段提升抽象级别。
https://stackoverflow.com/questions/9155618
复制相似问题