【代码重构设计模式之运用】之金融产品中心之设计模式的应用案例

本文阐述如何运用设计模式在代码设计中的应用,通过案例说明介绍。本文涉及的业务需求场景有:计算引擎、资金方准入、产品规则准入、产品费用项重置。通过案例引用的设计模式包括:模板方法模式、责任链模式、策略模式、工厂方法模式、中介者模式、观察者模式。

1、设计原则的应用意义

在这里插入图片描述

2、揭秘计算引擎的设计理念

目前金融产品的核心是面向车贷放款前车贷总金额的公式,因此其根本也就是围绕着车贷费用项的计算,这些费用项包括(平台费、GPS费、保险费、人身保险费、续保押金等)。而金融产品中心系统设计理念就是针对不同费用项以规则形式存储的,对于不同产品和经销商门店也就存在不同的费用项利率(如贷款利率、人身保险费率、平台费率等)。鉴于此,设计之初,就是通过分解每一个费用项计算器,通过先校验,再计算的思路把每个计算器串接起来,最后累计出车贷总金额。

2.1、计算引擎流程图

在这里插入图片描述

2.2、应用设计模式介绍

在这里插入图片描述

2.3、源码剖析

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.4、扩展性

在这里插入图片描述

3、揭秘资金方准入的设计理念

资金方是对车贷产品的进一步抽象封装,目前包括新网、微众、渤海、浦发等相关资金方,对于资金方要求的硬性和车贷条件,系统支持针对不同资金方设置不同纬度的准入条件(包括主贷人准入、车辆准入、贷款准入),而不同的准入包括不同的条件。
主贷人准入(征信方式、年龄、月收入、驾驶证归属人、从事行业、户籍等)。
车辆准入(是否二手车、车型、车牌类型、里程、车龄等)
贷款准入(还款期限、车贷金额、首付比等)
因此我们针对这些条件属性进行抽象封装,以责任链形式执行。

3.1、规则条件分类

在这里插入图片描述

3.2、UML类图关系

在这里插入图片描述

扫描二维码关注公众号,回复: 9464989 查看本文章

3.3、流程图

在这里插入图片描述

3.4、应用设计模式

在这里插入图片描述

4、揭秘产品规则准入的设计理念

目前对于车辆保险和车辆贴息依然是以规则形式并配置相应公式挂靠在车贷产品上,而对于一个产品,对于不同条件可以设置不同配置公式,对于车辆保险和车辆贴息就需要返回规则校验信息。

4.1、业务特性

在这里插入图片描述

4.2、规则条件

包括:实际销售价、车辆贷款金额、总贷款金额、首付比、车龄、里程、车类等。

4.3、UML类图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

范围类抽象类:AbstractScopeRuleHandler
在这里插入图片描述

在这里插入图片描述

区间类:AbstractRangeRuleHandler

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、揭秘产品费用项重置的设计理念

适用于退回经销商因修改了车贷相关信息,接口就需要根据最新条件调用金融产品接口返回当前当前费用项是否重置情况。包括:利率档位、GPS档位、平台费、个人保障计划、第二年保险费、第三年保险费、续保押金、盗抢险、账号管理费。

5.1、业务特性

在这里插入图片描述

5.2、应用设计模式介绍

在这里插入图片描述

5.3、UML类图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.4、其他设计模式应用

在这里插入图片描述
下面的是我的公众号二维码图片,欢迎关注。
秋夜无霜

发布了46 篇原创文章 · 获赞 27 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/shichen2010/article/details/84259217
今日推荐