Case类scala的DAG
我是Scala新手,有几个类实现了相同的特性,我希望每个类上的字段通过DAG相互关联 具体来说,假设类字段的排列方式如下:Case类scala的DAG,scala,types,case-class,Scala,Types,Case Class,我是Scala新手,有几个类实现了相同的特性,我希望每个类上的字段通过DAG相互关联 具体来说,假设类字段的排列方式如下: ---A.version--- | | V V B1.version B2.version | | -->C.version<-- A和B2类型的数据应具有version=“1.0”,而B1和C类型的数据应具有versi
---A.version---
| |
V V
B1.version B2.version
| |
-->C.version<--
A
和B2
类型的数据应具有version=“1.0”
,而B1
和C
类型的数据应具有version=“1.1”
。我不确定这是否最好使用伴随对象来解决,考虑到每个case类都需要一个,这似乎有点冗长,或者版本化的trait上的父类字段(包含对类型的引用?)是否有效。是版本对象的属性吗(在这种情况下,它属于类,这些类是对象的模板),或者是类型的属性(在这种情况下,它应该是更静态的某个地方,如伙伴)?“详细性”不是选择前者而不是后者的有效理由。它是该类型的属性。在这种情况下,重要的是要知道您需要如何处理此版本
。如果它确实是该类型的属性,则您不能(轻松地)例如,在一个集合中有一组不同版本的对象。您希望DAG的实际行为是什么?基本上,我要寻找的属性是,对于给定的数据类型,我可以根据其父类型(及其父类型等)的版本,计算出它应该在哪个版本上,而不在每个伴生对象中写入显式版本。