随笔分类 - 业务设计方法论
摘要:关于订单库存扣减的最佳实践 一: 背景 在电商的业务场景中每个商品都是有库存的,而且可能存在很多限售的运营策略。我们团队面临社区电商的业务场景更为复杂。不仅仅是库存限售,存在区域,门店,用户,运营分组,物流等的限售策略。如何面对日单量千万级别(未来更多),和多个维度的限售策略而不超卖,少卖是一个
阅读全文
摘要:无状态状态机 一:前言 在项目中经常有一些工单,申请之类需要对状态进行流转。这种需求一般都是满足什么条件然后就翻转状态。这些流程结构相似得逻辑,感觉可以抽象处理。用一个通用得结构处理,可以让系统更加整洁,代码逻辑更加单一。 发现阿里开源一种,轻量级得无状态状态机得组件。仔细研究一下,确实很适
阅读全文
摘要:线程池监控 线程池在开发中比较常见的功能,但是线程池监控也是非常有必要的。让我们随时知道线程池的吞吐量,及时调整配置,让系统性能达到最优化。 线程池的监控指标 我们经常创建线程池都是通过如下的方式进行; ThreadPoolExecutor threadPool = new Thread
阅读全文
摘要:【设计模式】基于spring特性的责任链模式 业务场景: 业务场景:开发中,需要对返回进行一系列的策略过滤,直接在一个方法中进行,代码比较长,耦合也是比较深。所以用责任链的模式进行解耦,同时可以动态配置责任链,实现动态拔插。 设计: 定义一个过滤链接口: public interface IFilt
阅读全文
摘要:设计模式之-策略模式 开发中经常碰到很多同一入口,但是不同场景的业务需求,很多人都是if-else一把梭。这样开发是简单,但是代码很丑,业务耦合严重。也很不利于后期代码的维护,久而久之,代码就变成了"屎山",无人敢动。 测试模式就是可以解决少写if-else,让业务解耦,便于业务的拓展,逻辑
阅读全文
摘要:定义:对适配器模式的功能很好理解,就是把一个类的接口变换成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一.起工作的两个类能够在--起工作。场景:通常被用在一个项目需要引用一些开源框架来一起工作的情况下,这些框架的内部都有一些关于环境信息的接口,需要从外部传入,但是外部的接口不一定能匹配,
阅读全文