从零开始实现放置游戏(八)——实现挂机战斗(6)代码重构

  前几张,我们主要实现了升级经验、人物等级属性、地图、地图怪物,这四种配置的增删查改以及Excel导入功能。我们主要以地图怪物为例,因此在文章末尾提供的源代码中只实现了地图怪物这部分的逻辑功能。

  如果你照猫画虎,把4种配置功能的逻辑全部实现的话,就会发现,增删查改的代码基本相同,除了SQL语句和模型对象不同,其他地方变化不大。

  本章我们利用泛型模板,对整个系统就行重构。在重构结束后,你就会发现写代码简直就是TMD艺术

后端重构 idlewow-core

  我们从最底层开始,首先重构位于core模块中的数据访问层。目前看来,基本上所有的模型对象,都应包含增删查改、批量添加、列表查询这些基本方法。那我们把这些方法抽象到一个单独的Mapper和Manager里。

  新建com.idlewow.common包,再该包下新建接口类BaseMapper:

从零开始实现放置游戏(八)——实现挂机战斗(6)代码重构

从零开始实现放置游戏(八)——实现挂机战斗(6)代码重构

package com.idlewow.common; import com.idlewow.common.model.QueryParam; import java.util.List; public interface BaseMapper<T> { /** * 添加记录 * @param t */ int insert(T t); /** * 批量添加记录 * @param list * @return */ int batchInsert(List<T> list); /** * 更新记录 * @param t */ int update(T t); /** * 删除记录 * @param id */ int delete(String id); /** * 根据id查询 * @param id * @return */ T find(String id); /** * 根据条件查询总数 * @param queryParam * @return */ int count(QueryParam queryParam); /** * 根据条件查询列表 * @param queryParam * @return */ List<T> list(QueryParam queryParam); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjdfg.html