最近在做小需求的时候,需要用到目录树,特地写了一个基于java的实现。
由于需求原因,目前只实现了读部分的功能--如何将平面节点build成树。动态新增,删除等功能尚未实现。
目录结构概念:
Node:目录节点,具备节点属性信息
NodeStore:平面目录节点持久化接口,提供方法如下:
public List<T> findByType(String type); -- 根据目录类型,获取该类型下所有的节点(平面节点)
public void add(T node);--将增加节点持久化
public void update(T node);--将修改节点持久化
public void delete(T node);--删除节点
public void move(T src, T target); --将移动节点持久化
NodeStore是一个接口,可以基于DB实现,也可以基于XML实现,或则其他你需要的方式。
Tree:目录树,主要职责:
通过NodeStore load某一类型目录的所有平面节点,build成树;
根据节点id号,查找相应的节点信息
动态新增,修改,删除,移动节点,通过NodeStore将变化持久化;
目录结构实现类图:(目前只实现了读方法)
时间: 2024-10-29 17:19:39