一个Ad有只能有3个物料, 每个物料一个位置;;
Ad List<Position> getPositions
Position material getMaterial
这个一个实体关系,如果Position就是基本实体,那就可以简化为
Ad List<Material> getMaterials()
注意如果getPositions 是不可变的, 那么getMaterials也是不可变的;
或者 Ad map<position ,Material > getMaterials 上游关系变成Map
这两者的区别是什么?? 对于get来说没有区别;;对于set来说,可以控制 position字段的取值,在实体层面;
但这就需要一个Position枚举,而且随着业务产品线的越来越多,这个取值会越来越多,
而且需要把set get 操作下放到每个产品线上, 比如物料单元类型;; layoutIndex 的类型越来越多 ,上下左右, 第一个第二个;
不好控制,不要期望与 通过实体来控制 ,,约束太死了 , 有时候无类型就无类型吧,开放性更高;;
以JN目前来看,materialUnit 的Map<layoutIndex,material >getMaterisl ,已经被大面积使用了;;
决定了任何一个绑定在这个关系上的Material都必须是 layOutindex 的一种类型;;
有一种方法可以摆脱,那就是增加一种关系,