在我的(静态编译的)Groovy应用程序中,我构建了一个类似树的数据结构。该树仅由子类的实例构建,这些子类共享相同的基类。我会定期调用根节点的update()
方法,该方法调用其所有子节点的update()
,依此类推,直到树的每个叶子。
假设我有一个TreeNode
基类和一堆子类ChildNode1
,ChildNode2
,ChildNode3
。树是从那些ChildNode
类构建的,每个类可以在树中多次出现(但作为不同的实例)。
现在我需要衡量在每个update()
课程中积累的每个ChildNode
方法花费的总时间。
我不想直接在每个update()
方法的开头和结尾测量时间,因为我正在编写一个库,而其他开发人员可能会根据TreeNode
添加更多节点类。我也不想强迫他们自己做时间测量。
我希望很清楚我想要实现的目标。在(静态)Groovy中是否有某种方式,类似于Python中的装饰?