策略模式在我项目中的应用
我为什么在项目中用策略模式
有接口需要根据参数返回数据,并且返回的数据对象的每个字段都要计算,所以会对入参判断,代码就变得难看。
实现思路
根据入参的不同创建不同类,不同的类实现同一个接口。调用接口的时候,将 不同的子类初始化,放到Map中,Key和入参相同,Value是对应类
- 关于入参逻辑计算类的关系
- 入参具体实现类的初始化
- 初始化map.get(入参)获取到对应业务对象
业务接口定义
- 接口字段定义,也等于接口某入参的内容
- 接口待实现的业务方法
- getCaliber()方法代表本类是哪种入参的具体实现类。用在map初始化的时候
- 其他方法都是业务方法。比如获取面积,获取铺位数,获取面积占比等
入参具体实现类介绍
实现必要的业务逻辑方法
入参公共业务方法类
公共方法提取