策略模式在我项目中的应用

105 阅读1分钟

策略模式在我项目中的应用

我为什么在项目中用策略模式

有接口需要根据参数返回数据,并且返回的数据对象的每个字段都要计算,所以会对入参判断,代码就变得难看。

实现思路

根据入参的不同创建不同类,不同的类实现同一个接口。调用接口的时候,将 不同的子类初始化,放到Map中,Key和入参相同,Value是对应类
  1. 关于入参逻辑计算类的关系 image.png
  2. 入参具体实现类的初始化 image.png
  3. 初始化map.get(入参)获取到对应业务对象

业务接口定义

  1. 接口字段定义,也等于接口某入参的内容 image.png
  2. 接口待实现的业务方法 image.png
    1. getCaliber()方法代表本类是哪种入参的具体实现类。用在map初始化的时候
    2. 其他方法都是业务方法。比如获取面积,获取铺位数,获取面积占比等

入参具体实现类介绍

image.png 实现必要的业务逻辑方法

入参公共业务方法类

image.png 公共方法提取