Skip to content

0906分析物理节点dao所需包含的内部字段

ziyouzy edited this page Sep 6, 2020 · 1 revision

主要还是关于evolver,目前觉得做一下依赖注入比较好,但是问题在于,是注入到dao,还是注入到实体?

要不先都弄个依赖注入吧,后期再看留哪个

还有就是把evolver设计层scanf模式吧,不过函数名还是用Eovlve好一些

目前设计成了只依赖注入到物理节点实体,因为物理节点实体所对应的dao内如果打算操作物理节点内的各个字段是不现实的,dao内部只存在物理节点实体所实现的接口,而不是实体本身

如果真的非要在dao内实现对各个字段(如DI1,DI2)的evolve操作,则evolve包的方法必须将物理节点实体的接口作为方法的参数,从而在方法内部进行进一步的操作

而当前的情况是,evo包被设计成了一个原子级别的点对点操作,如envloveDO1,DO2,DI1,DI2,总体感觉上,如果进行修改的话,完善物理节点实体的功能是思路最清晰,最为方便的办法

物理节点实体与evo操作相关的方法只新添了一个Evolve()无参数也无返回值,只是在结构体内部用已经实现依赖注入的evo包一个一个的去“evo”DI1,DI2,DI3

物理节点实体dao与evo操作相关的方法拥有两个:

CreateEvolvedPhysicalNode(evolver evolver.Evolver) physicalnode.PhysicalNode//其会先调用后者,生成物理节点的接口,在调用接口包含的Evolve()方法
CreatePhysicalNode(evolver evolver.Evolver) physicalnode.PhysicalNode//其只是生成包含原始数据的物理节点实体
Clone this wiki locally