8000 GitHub - uruminkon/DesignPattern: 总结互联网相关的设计模式组合,以及常见业务使用相应的设计模式搭配来实现代码的解耦,如工厂加策略,状态加观察者,责任链,迭代器等实现以及他们的互联网使用场景。
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

总结互联网相关的设计模式组合,以及常见业务使用相应的设计模式搭配来实现代码的解耦,如工厂加策略,状态加观察者,责任链,迭代器等实现以及他们的互联网使用场景。

License

Notifications You must be signed in to change notification settings

uruminkon/DesignPattern

Repository files navigation

Design Pattern

介绍

总结互联网相关的设计模式组合,以及常见业务使用相应的设计模式搭配来实现代码的解耦,如工厂加策略,状态加观察者,责任链,迭代器等实现以及他们的互联网使用场景。

应用

设计模式 应用场景 对应模块
工厂策略 支付场景,业务接口有多种方式处理,通过实现各种策略接口,然后通过工厂类进行单例工厂整合,减少类的频繁生成,通过门面模式对外通过统一的接口;项目中业务功能存在多种操作逻辑,就可以通过策略模式实现 FactoryStrategy
状态观察 订单状态,业务存在状态转化;通过引入Spring状态机做状态转化的管理,用户状态变更时发送相应的事件转化枚举的消息,然后就可以通过消息事件监听的方式,异步的进行状态的变化。 StateObserver
责任链模式 投放、文件处理场景,业务有较长的处理链条且关联性不强,可将处理流程拆封成不同的责任点,并且后续扩展优秀 ResponsibilityChain
迭代器模式 ES查询大批量数据查询场景,由于ES查询一般分页最大条数的10000条,且大数据量往往不止这么多数据要查出,因此通过迭代器模式,进行ES查询的优化,在迭代器构造进行第一次查询,后续通过传出的cursor进行后续查询。 Iterator
装饰享元 支付后的营销活动,比如平台积分更新,红包优惠卷发放等。通过对支付接口包装,实现新功能拓展,在相应的支付门面接口上,并且减少包装类的多次创建,通过享元模式,进行单例工厂映射。 DecoratorFlyweight
模板方法 核心审计日志记录,如用户操作记录,订单记录,支付记录等,并且发送到消息队列给不同部门处理;模板方法也可以配合责任链进行使用,抽象process类做责任链条搭建和调用模板处理方法和跳转下个责任点,子类实现模板方法做责任链节点 Template
建造原型 开具增值发票,建造者创建个人发票和单位发票,原型模式克隆减少公共部分的创建,还有不同业务类型的多种类别创建也可以采用建造者模式 BuilderPrototype
桥接模式 第三方登录,和策略模式类似,做各种第三方的登录功能抽象实现,然后通过一个桥接类(门面类),做各种登录的桥接,controller接口调用后,通过type传入同一个sevice方法,桥接接口通过type去执行对应的第三方登录。 类似策略模块
组合访问 商品多级分类,通过组合模式来构建树形接口,在通过访问者模式来进行操作限制;这种模式也适合在做权限树的添加或者删除上,或者是一些部门组织的管理上也是适用。 CompositeVisitor

About

总结互联网相关的设计模式组合,以及常见业务使用相应的设计模式搭配来实现代码的解耦,如工厂加策略,状态加观察者,责任链,迭代器等实现以及他们的互联网使用场景。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0