admin管理员组

文章数量:1444188

代码结构优化——工厂+策略模式解耦条件判断

我们先来看一个数据库表结构

这个库是记录题目的信息,主表下分了四种题目表

如果我们想新增题目信息,不难想到,最简单、最直接的办法那肯定是在service层直接做多个if-else来调用多个dao(mapper)

代码语言:txt复制
@Override
public void add(SubjectInfoBO subjectInfoBO) {
    if (log.isInfoEnabled()) {
        log.info("SubjectInfoDomainServiceImpl.add.bo:{}", JSON.toJSONString(subjectInfoBO));
    }
    /*
     * 假设都写在主流程里面
     * 判断type,单选的调用单选的service,多选的调用多选的
     * 一大堆if
     */
    // 主表
    SubjectInfo subjectInfo = SubjectInfoConverter.INSTANCE.convertBoToInfo(subjectInfoBO);
    subjectInfoService.insert(subjectInfo);
 
    // 一大堆if-else,然后不同的service
    // ......Service.insert(......);
    
 
    // 省略多表处理……    
}

这样做?

其他人可能会好好问候你一下

本文标签: 代码结构优化工厂策略模式解耦条件判断