树形结构博客目录

关于树形结构的博客,我总结了下面五篇,其实进行树的加载与展示有很多方案,我觉得我通过优雅的方式实现了,并且做到结点通用与业务扩展属性,针对树的装配做了大量的分析工作,尤其是在算法上力求简洁,当然这期间历经数次重构。

 

比较有意思的是我在重构中经历如下阶段:

 

1.结点 AbstractNode,树 AbstractTree,用到了模板方法,在抽象类里面组织好步骤,结点列表放在子类里实现。

 

2.在1中有一个问题就是造成类的膨胀因为针对每一个业务都会有不同的业务知识在里面,都要写一个新的子类来实

 

现AbstractNode中定义的抽象方法,还要有一个AbstractTree实现,针对这个问题,我要对它进行大的改动:

首先:修改AbstractNode 为泛型类,并改成具体类型,提供extend扩展,这样解决了针对不同的业务要建立不同的结点实现。

其次:修改AbstractTree 为泛型类,并改成具体类型。只要传入结点列表即可建立一个tree实例。

 

这里有一些比较好有意思的设计:

1.如何对结点进行排序。

2.如何得到每一个结点下面的最大深度。

3.怎么样不用第三方js插件展示菜单。

 

树形结构之一 建立务无关的结点类型


树形结构之二 运用递归加载你想要的结构


树形结构之三 帮助你测试


树形结构之四 web展示方案


树形结构之五 数据提取-递归查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值