如何深入理解taichi的面向数据编程?

踩了好几天的dataclass和dataoriented的坑,一些在py class中很常用的功能在taichi中经常无法实现。
反思是否在taichi中太过苛求面向对象的功能?
面向数据的话,将对象视为一组数据,用结构体维护,把member function写成结构体外的函数,以此来实现对象的一些功能。
请教各位大佬,这样是不是才是面向数据的正确打开方式?
(原谅我太菜啦T_T)