
java
文章平均质量分 94
fang.sean
这个作者很懒,什么都没留下…
展开
-
如何让匹配算法保持高效优雅
脱离不了实际业务场景的架构设计和算法将是没有价值,或称为“耍流氓”。 本章将根据实际业务案例(请允许我将业务模糊一下)讲解 “匹配算法” 的设计和实现; 业务:在众多的数据行项目下,通过数据源匹配目标源,找到最优匹配项 分析:数据源作为标准,并定义匹配的元素以及优先级,目标源中可能匹配到多个,但是需要找到最优的并且占用掉;简单点讲,就像根据自己的标准找对象一样,最多一个。 实现:数据源sourceItems,目标源 targetItems,匹配因素 tokens,优先级:order 咱们根据实现一步一步讲解原创 2020-11-01 17:14:34 · 171 阅读 · 0 评论 -
状态机的设计和应用
状态机的设计和应用 状态机定义在离散数学中可以用有向图来表示状态机,用于进行对象行为建模,描述对象在它的生命周期内所经历的状态序列(这里描述的状态机前提是有限状态);表示由一组状态节点和一组相应的转移函数组成,通过响应一系列事件而运作;上一个状态节点通过设定的一个事件进行动作完成状态的转移。 为什么选用在状态转换的业务逻辑处理过程中,通过 if else 判断或者switch 处理进行状态的转换是最简单且容易的,可想而知,状态量多了,业务变复杂后,代码冗余等,维护是否是一件苦恼的事,那么总结两点方法:(1)原创 2020-11-01 12:14:21 · 455 阅读 · 1 评论 -
数据分组处理的java实现
大多情况下sql是可以实现数据的处理,可以减少程序去做额外的处理工作,只是有些业务情况sql做不到的,比如说本人在数据处理工作中,会涉及到对数据单独做分组展示的情况;不是sql的group by 返回list,而是返回的数据集为List<Map>等复杂的层级数组,而且具有分组的特点。 比如下面的Bean: @Data @Builder @AllArgsConstructor publi...原创 2019-06-23 14:35:56 · 3691 阅读 · 0 评论